使用带有自动布局的 Storyboard,我注意到了一些事情:我添加了一个 UIScrollView 并将它与一个 IBOutlet 连接起来。在我的 UIViewController 中,如果我创建日志:
NSLog(@"size %f",self.myScrollView.frame.size.width);
结果为 0,但在视觉上测量结果是正确的。
如果我关闭自动布局,则日志参数是正确的,并且视觉上一切都保持不变。
如何使用自动布局查看正确的值?
谢谢
使用带有自动布局的 Storyboard,我注意到了一些事情:我添加了一个 UIScrollView 并将它与一个 IBOutlet 连接起来。在我的 UIViewController 中,如果我创建日志:
NSLog(@"size %f",self.myScrollView.frame.size.width);
结果为 0,但在视觉上测量结果是正确的。
如果我关闭自动布局,则日志参数是正确的,并且视觉上一切都保持不变。
如何使用自动布局查看正确的值?
谢谢
显然,您可以通过询问它们来查看正确的大小值 in viewDidAppear
,因为 inviewDidLoad
并且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]大小 0.000000 2013-04-17 12:02:05.444 TryALASB[5421:c07]-[FirstViewController viewWillAppear:]大小 0.000000 2013-04 -17 12:02:05.457 TryALASB[5421:c07] -[FirstViewController viewDidAppear:] 大小 150.000000