带有故事板和自动布局的大小值

Posted

技术标签:

【中文标题】带有故事板和自动布局的大小值【英文标题】:Size value with Storyboard and Auto-layout 【发布时间】:2013-02-08 09:43:00 【问题描述】:

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

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

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

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

如何使用自动布局查看正确的值?

谢谢

【问题讨论】:

【参考方案1】:

显然,您可以通过在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] 大小 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

【讨论】:

以上是关于带有故事板和自动布局的大小值的主要内容,如果未能解决你的问题,请参考以下文章

在代码中混合故事板和约束

不同设备尺寸的 iOS 自动布局约束值

iPhone X 界面编程无自动布局

如何在不使用自动布局的情况下以 XIB/故事板大小查看手机尺寸

iOS 故事板 - 自动布局不会调整子视图的大小和位置

自动布局的 Xcode 故事板问题不允许我移动对象 origin.y 值