由于纵向尺寸的超视帧,iOS自动布局在横向模式下不正确?

时间:2018-01-03 16:07:49

标签: ios autolayout

我遇到了横向模式下的自动布局的问题。我相信这是因为父视图的框架以纵向坐标表示,例如width = 768,height = 1024。

我的问题是:

a)自动布局是从帧或边界派生的

b)如果它是从帧中导出的,那么使帧正确的正确方法是什么(通常等于边界)?

此外,在我们使用iOS 11在Xcode 9中重建应用程序之前,有没有人知道为什么这不是问题?以前它是使用Xcode 8和iOS 10构建的。

1 个答案:

答案 0 :(得分:-2)

Fame是外部视图坐标,而bounds是内部的。

https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html#//apple_ref/doc/uid/TP40009503-CH2-SW6

这意味着视图的位置基于它的框架与其超视图的边界相关。通常自动布局会对方向的变化做出反应。查看您的约束并确保您没有任何宽度/高度硬编码,并且您已安装所有必需的前导/尾随和顶部/底部约束。

由于iOS11苹果引入了安全区域 - “虚拟”空间被视为可用于用户交互的区域。它取代了顶部/底部布局指南。您可以在以下网址找到更多详细信息:https://useyourloaf.com/blog/safe-area-layout-guide/

请提供更多具体答案的详细信息。