使用自动布局的Storyboard,我注意到了一些事情:我添加了一个UIScrollView并将其与IBOutlet连接。在我的UIViewController中,如果我创建一个日志:
NSLog(@"size %f",self.myScrollView.frame.size.width);
结果为0,但在视觉上测量结果是正确的。
如果我关闭自动布局,则日志参数是正确的,并且视觉上一切都保持不变。
如何通过自动布局查看正确的值?
由于
答案 0 :(得分:0)
显然,您可以在viewDidAppear
中查询正确的尺寸值,因为viewDidLoad
和viewWillAppear
尚未使用自动布局确定它们:
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"size %f",self.myScrollView.frame.size.width);
}
如图所示:
-(void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"%s size %f",__PRETTY_FUNCTION__,_holderView.frame.size.width);
}
2013-04-17 12:02:05.442 TryALASB [5421:c07] - [FirstViewController viewDidLoad] size 0.000000 2013-04-17 12:02:05.444 TryALASB [5421:c07] - [FirstViewController viewWillAppear:] size 0.000000 2013-04-17 12:02:05.457 TryALASB [5421:c07] - [FirstViewController viewDidAppear:] 尺寸150.000000