UIViewサブクラスのNibをロードする正しい方法
この質問が以前に尋ねられたことは承知していますが、答えは矛盾していて混乱していますので、私を怒らせないでください。 UIViewアプリ全体で再利用可能なサブクラスを使用したいと考えています。nibファイルを使用してインターフェイスを記述したいと思います。 ここで、アクティビティインジケーターを含む読み込みインジケータービューであるとしましょう。いくつかのイベントで、このビューをインスタンス化し、ビューコントローラーのビューにアニメーション化したいと思います。プログラムでビューのインターフェイスを問題なく説明し、要素をプログラムで作成し、フレームをinitメソッド内に設定することなどができます。 どうすればnibを使用してこれを行うことができますか?フレームを設定せずに、インターフェイスビルダーで指定されたサイズを維持します。 私はなんとかこうやってそれをすることができました、しかし私はそれが間違っていると確信しています(それはその中にピッカーを持つ単なるビューです): - (id)initWithDataSource:(NSDictionary *)dataSource { self = [super init]; if (self){ self = [[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", [self class]] owner:self options:nil] objectAtIndex:0]; self.pickerViewData = dataSource; [self configurePickerView]; } return self; } しかし、私は自分を上書きしています。それをインスタンス化すると、次のようになります。 FSASelectView *selectView = [[FSASelectView alloc] initWithDataSource:selectViewDictionary]; selectView.delegate = self; selectView.frame = CGRectMake(0, self.view.bottom + …