UIView对象的大小在autolayout下返回为零

drw*_*drw 5 storyboard uiview autolayout ios6

我正在使用自动布局在IOS6下重写一个应用程序但是在访问UIView的子类大小时遇到​​了问题

@property (weak, nonatomic) IBOutlet MyView *myView1;
Run Code Online (Sandbox Code Playgroud)

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    NSLog(@"myView1: %@",self.myView1);
}
Run Code Online (Sandbox Code Playgroud)

UIView的大小在StoryBoard中完全定义,但在运行代码时出现为零.这是自动布局的待办事项还是尚未定义的子视图?我在做什么基本上错了吗?

drw*_*drw 12

刚刚发现一个可能的答案在这里.运行方法

[self.view setNeedsLayout];
[self.view layoutIfNeeded];
Run Code Online (Sandbox Code Playgroud)

强制计算UIViews维度,导致期望值出现在日志中,并且对UIView子类本身也是已知的.