1

このコードでサブビューを追加しようとしています:

NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"subView" owner:self options:nil];
SubView *subView = [subviewArray objectAtIndex:0];
[self.view addSubview:subView];

ただし、正しいサイズの白い長方形のみが表示されます。のSubView初期化メソッドはまったく呼び出されません。(initWithCoder:(NSCoder *)aDecoderこの場合、 を呼び出す必要がありますが、そうではありません。)

xib の所有者は SubView クラスです。これはビューであり、コントローラではありません。

この誤動作の原因は何ですか?また、適切な解決策は何ですか?

4

1 に答える 1

1

から作成するには、次のコードを使用しviewますxib

UINib *menuNib = [UINib nibWithNibName:@"MenuView" bundle:nil];
NSArray *aNib = [menuNib instantiateWithOwner:self options:nil];
UIView *menuView = [aNib objectAtIndex:0];
于 2015-05-05T13:19:28.900 に答える