4

我在我的视图控制器中使用自动布局来对齐 uiview,就好像它是一个导航栏(对齐到顶部,拉伸到尾随和前导边以及 44 高度)。

我已经对这个视图进行了子类化,并且在awakeFromNib我想向它添加子视图。

但是,当我添加这些子视图(也有对父视图的约束)时,它不起作用。

最初我认为约束编程不正确,但是,在记录视图的框架后,如下所示:

- (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所有涉及的视图。但似乎没有任何效果。

提前致谢!

4

1 回答 1

0

调用时awakeFromNib,视图尚未创建。在此方法中从视图中获取任何类型的属性的最佳方法是[self view]在尝试访问属性之前调用。

于 2013-03-19T16:03:23.390 回答