我正在尝试使用此代码添加一个子视图:
NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"subView" owner:self options:nil];
SubView *subView = [subviewArray objectAtIndex:0];
[self.view addSubview:subView];
,但仅出现一个白色矩形,但是尺寸正确。SubView
的初始化方法根本没有调用。(在这种情况下应调用initWithCoder:(NSCoder *)aDecoder
,但不是。)
XIB的所有者是子视图类。这是一个视图,而不是控制器。
什么可能导致这种故障,正确的解决方案是什么?
使用以下代码从xib
:
view
UINib *menuNib = [UINib nibWithNibName:@"MenuView" bundle:nil];
NSArray *aNib = [menuNib instantiateWithOwner:self options:nil];
UIView *menuView = [aNib objectAtIndex:0];