使用Storyboard和自动布局的大小值

时间:2013-02-08 09:43:01

标签: xcode storyboard autolayout

使用自动布局的Storyboard,我注意到了一些事情:我添加了一个UIScrollView并将其与IBOutlet连接。在我的UIViewController中,如果我创建一个日志:

NSLog(@"size %f",self.myScrollView.frame.size.width);

结果为0,但在视觉上测量结果是正确的。

如果我关闭自动布局,则日志参数是正确的,并且视觉上一切都保持不变。

如何通过自动布局查看正确的值?

由于

1 个答案:

答案 0 :(得分:0)

显然,您可以在viewDidAppear中查询正确的尺寸值,因为viewDidLoadviewWillAppear尚未使用自动布局确定它们:

-(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