Xcode 自动布局和旋转

Posted

技术标签:

【中文标题】Xcode 自动布局和旋转【英文标题】:Xcode Autolayout and Rotation 【发布时间】:2013-10-22 18:58:44 【问题描述】:

我想问,当用户将 ios 设备从纵向旋转到横向(反之亦然)时,如果我希望我的应用程序的视图能够正确调整自身以匹配设备的屏幕方向,那么关闭自动布局是否更好。

这是因为当我关闭自动布局时,我可以通过尺寸检查器手动调整视图的自动调整大小和蒙版。视图似乎可以很好地调整以匹配屏幕方向。

我已经尝试过启用自动布局,当我旋转设备时,由于某种原因,视图无法正确放置。不过,这只发生在某些应用程序中(我想这取决于纵向模式下视图的原始位置)

我只是缺少自动修复此问题的自动布局的功能或设置吗?还是关闭自动布局更好?

谢谢

【问题讨论】:

【参考方案1】:

我的建议是使用自动布局。从您的问题来看,您在自动布局或为您生成的约束方面没有做太多工作。是的,生成的约束取决于视图在纵向模式下的原始位置,但您需要查看并可能更改约束以使其在横向模式下按预期工作。

推动自动布局的关键思想之一是指定视图之间的相互关系,以便 iOS 知道如何在各种情况下绘制它们,例如旋转。

您提到视图在旋转时无法正确放置。在我看来,生成的约束并没有为重要的事情设置从前导或边缘到超级视图的间距。

WWDC 视频涵盖了自动布局概念,但请注意 XCode 5 中指定约束的方式和时间发生了变化,因此请务必查看 WWDC '13 中的 XCode 视频以了解这些变化。

【讨论】:

我明白了。我仍然是 iOS 编程的初学者。这肯定会带来一些启示。

以上是关于Xcode 自动布局和旋转的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局 Xcode 居中

ios中的自动旋转问题

旋转视图是不是与自动布局兼容?

Xcode Autolayout - 未选中时视图旋转

自动旋转时自动布局约束更新

自动布局、约束和旋转