nslayoutconstraint - 在 awakeFromNib 中似乎没有设置框架 View

标签 nslayoutconstraint awakefromnib

我在我的 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/

相关文章:

ios - 带约束的移动 View

iOS内存泄漏与 Nib

ios - UITableViewCell 在 subview 性能问题中调用 .layer.maskToBounds = YES

ios - 无法获取 NSLayoutConstraint 的约束

ios - NSLayoutConstraint 常量改变回调

iphone - 使用 Storyboard时设置完成的 TabBar 图像?

ios - awakeFromNib 的好处?

ios - 没有为 UITableViewCell 对象调用 awakeFromNib

ios - 如何为 UITextView 设置自动布局约束

ios - UILabel 和 NSLayoutConstraint 的垂直列表