我在我的 View Controller 中使用自动布局来对齐 uiview,就好像它是一个导航栏(对齐到顶部,拉伸(stretch)到尾随和前导边以及 44 高度)。
我已经对这个 View 进行了子类化,并且在 awakeFromNib
期间我想向它添加 subview 。
但是,当我添加这些 subview (也有对父 View 的约束)时,它不起作用。
最初我认为约束编程不正确,但是,在记录 View 的框架后,如下所示:
- (void)awakeFromNib
{
[super awakeFromNib];
NSLog(@"%@", NSStringFromCGRect(self.frame));
}
我得到以下输出:
2012-11-27 03:25:25.976 myApp[8262:c07] {{0, 0}, {0, 0}}
然而,当我登录时,例如,
touchesBegan:withEvent:
它记录正确的帧大小。有谁知道这可能是什么原因造成的?
我也试过设置
setTranslatesAutoresizingMaskIntoConstraints:NO
涉及的所有观点。但似乎没有任何效果。提前致谢!
最佳答案
当awakeFromNib
被调用, View 尚未创建。在此方法中从 View 中获取任何类型属性的最佳方法是调用 [self view]
在尝试访问属性之前。
关于nslayoutconstraint - 在 awakeFromNib 中似乎没有设置框架 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13576957/