我遇到这个问题,ios 8 中的表单采用“紧凑 - 宽度常规 - 高度”(即所有 iPhone 约束)设置的约束,而不是“任何 - 任何”或“常规 - 宽度常规 - 高度”。
我对 iPhone 和 iPad 有两种不同的设计,因为表单正在消耗 iPhone 的约束 iam
无法实现相同的目标。对此的任何帮助将不胜感激
来自 UIViewController 类参考:
在水平规则环境中,将内容显示在屏幕中央的呈现样式。内容区域的宽度和高度小于屏幕尺寸,并且在内容下方放置调光视图。如果设备处于横向且键盘可见,则向上调整视图的位置,以便视图保持可见。所有未覆盖的区域都会变暗,以防止用户与其交互。
在水平紧凑的环境中,此选项的行为与UIModalPresentationFullScreen
.
由于 iPad 上的表单演示文稿具有紧凑的宽度和常规的高度,因此这些是您在演示表单时将获得的值。
如果您不想要默认的尺寸类别,您可以覆盖它们。
如果您的视图控制器是另一个视图控制器的子视图控制器,您可以使用setOverrideTraitCollection(_:forChildViewController:)
并覆盖子控制器的尺寸类约束。
如果您的视图控制器不是子视图控制器,那么您实际上不应该更改特征集合,但您可以这样做使用这个黑客 https://stackoverflow.com/q/25483414/1445366.
最好的解决方案是设计视图控制器,使其在应用于表单视图控制器演示文稿的默认(正确)尺寸约束中看起来合适。通常可以通过避免设置宽度约束并仅设置前导和尾随约束来实现此目的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)