【问题标题】:Autolayout not detecting frame size自动布局未检测帧大小
【发布时间】:2015-01-15 04:50:59
【问题描述】:

我正在将我的 xib 文件转换为使用自动布局,但只有某些设备的帧大小能够正确检测到(iPad 2 和 iPhone 4)。我使用的 iPhone 6plus 和 iPhone 6 无法正确检测帧大小。它检测视图的帧大小。

我已经在 viewWillAppear 方法中启动了 self.view.frame.size.height 和 self.view.frame.size.width,但它仍然没有检测到正确的尺寸。这使我的自动布局无法正确缩放。有什么建议吗?

【问题讨论】:

  • 如果您对自动布局感兴趣,您可能会想要使用尺寸等级或相对间距值(而不是直接使用框架)。
  • 您是否为 iPhone 6 和 6 plus 添加了尺寸正确的启动图像?
  • 发布图片仅适用于 iPhone 和 iPad,没有专门针对 iPhone 6 和 iPhone 6 plus 的发布图片。如何专门为这 2 部手机添加启动图像?

标签: ios autolayout iphone-6 iphone-6-plus


【解决方案1】:

你应该使用这个方法来获得正确的尺寸:

-(void)viewDidLayoutSubviews{
    [super viewDidLayoutSubviews];
    //YOUR CODE HERE
}

在调用“viewDidLayoutSubviews”方法之前,不会设置视图最终大小。在这里,我们将拥有正确的视图大小。 我希望这能解决您的问题。

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 2011-05-09
    • 2014-04-29
    • 1970-01-01
    • 2013-06-14
    • 2012-11-18
    相关资源
    最近更新 更多