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

时间:2013-03-26 09:55:50

标签: objective-c uiview autolayout viewdidload iboutlet

我正在使用Autolayout开发故事板。我有一个viewController(即myController),我在其中拖了一个UIView(即myView)。 在myController.h中,我为myView声明了一个IBOutlet:

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

后来我把它与故事板上的UI相关联(来自myController的出口的ctrl + dradding)。

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

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

但是这两个输出都是0.我可能错了吗?

1 个答案:

答案 0 :(得分:4)

如果您正在使用autolayout,那么在viewDidLoad布局尚未发生。从故事板加载视图时,此时的帧仍等于CGRectZero。

再次在viewDidAppear中记录:并且您将在布局完成后看到框架。