IOS6 - 从 viewDidLoad 获取 IBoutlet 的帧返回 0



我正在使用自动布局的故事板。我有一个viewController(即myController)我在里面拖拽了一个UIView(即myView)。在myController.h中我为myView声明了一个IBOutlet:

@property (weak, nonatomic) IBOutlet UIView *myview;

,后来我把它与storyboard上的UI关联起来(ctrl+从myController的outlet中拖动)。

关键是我认为我可以看到myView的大小从myController viewDidLoad方法:

NSLog(@"pag h:%f e w:%f",myView.frame.size.height, myview.frame.size.width);

但是这两个输出都是0。我哪里可能是错的?

如果你正在使用自动布局,那么在viewDidLoad布局还没有发生。当从故事板加载视图时,此时的帧仍然等于CGRectZero。

在viewDidAppear中再次记录这个,你将看到布局完成后的框架。

最新更新