我在界面构建器中为视图创建了一个笔尖。它的子视图放置的约束条件是它们将按照视图框架的大小进行缩放。UIView的子视图渲染范围
我使用一个辅助方法从其笔尖初始化视图:
+ (TinyTestResultsView *)ttrView {
TinyTestResultsView *ttrV = [[[NSBundle mainBundle] loadNibNamed:@"TinyTestResultsViewNib" owner:nil options:nil] firstObject];
[ttrV commonInit];
return ttrV;
}
在一个视图控制器的viewDidLoad
,我初始化对象使用ttrView
方法和将其添加为子视图self.view
。然后VC向网络发出呼叫以获取一些信息,然后根据需要将约束添加到self.view
和子视图中以放置它。它被正确放置大小&大小 - 但是该视图显示为没有子视图的白色框。 为什么子视图在视图之外渲染?
如果我在Xcode中使用Debug View Hierarchy,然后尝试查找子视图,我发现它们在框架外渲染,并且它们不符合NIB中的自动布局规则。我使用这个完全相同的技术为不同的自定义UIView /笔尖,所以我不知道什么可能会发生错误。
我有'self.translatesAutoresizingMaskIntoConstraints = NO;'in'commonInit' – jdelman
你有没有警告与nib文件中的这个视图的约束有关? – curious
在预览中尝试[看](http://cdn3.raywenderlich.com/wp-content/uploads/2014/12/Screen-Shot-2015-09-05-at-1.39.09-PM.png)笔尖文件(如果你还没有这样做)。视图的布局是否正确? – curious