添加子视图后只出现白色矩形

Posted

技术标签:

【中文标题】添加子视图后只出现白色矩形【英文标题】:Only white rectangle appears after adding a subview 【发布时间】:2015-05-05 13:12:55 【问题描述】:

我正在尝试使用此代码添加子视图:

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 类。这是一个视图,而不是一个控制器。

什么可能导致此故障,正确的解决方案是什么?

【问题讨论】:

尝试设置menuView的Frame 【参考方案1】:

使用以下代码从xib 创建view

UINib *menuNib = [UINib nibWithNibName:@"MenuView" bundle:nil];
NSArray *aNib = [menuNib instantiateWithOwner:self options:nil];
UIView *menuView = [aNib objectAtIndex:0];

【讨论】:

以上是关于添加子视图后只出现白色矩形的主要内容,如果未能解决你的问题,请参考以下文章

获取作为子视图添加的 UIView 的可见矩形

UIViews 是 UIScrollView 的子视图。如何跟踪子视图在定义的矩形内?

缩放时,UIScrollview 子视图无法识别手势

UIScrollview 子视图在缩放后无法识别平移手势

无法连接到 IB 中的子视图

使用自动布局删除和重新添加子视图