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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由于纵向尺寸的超视帧,iOS自动布局在横向模式下不正确?相关的知识,希望对你有一定的参考价值。

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

我的问题是:

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

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

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

答案

名气是外部视图坐标,而边界是内部的。

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/

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

以上是关于由于纵向尺寸的超视帧,iOS自动布局在横向模式下不正确?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 自动布局:如何在 Xcode 故事板中为 iPad 横向和 iPad 纵向设计不同的布局?

iPad 横向和纵​​向模式 iOS 8 的尺寸等级

相同的自动布局约束在纵向和横向中表现不同

自动布局无法按预期工作

纵向模式和横向模式视图显示调整与手机大小

iOS 13 目前的 VC 模式在横向模式下不起作用