Xcode Autolayout - 横向/纵向约束

Posted

技术标签:

【中文标题】Xcode Autolayout - 横向/纵向约束【英文标题】:Xcode Autolayout - Landscape/Portrait constraint 【发布时间】:2016-02-22 03:14:19 【问题描述】:

我遇到了一个看起来很简单的自动布局任务:在纵向模式下显示 3 个项目(所有项目的纵横比均为 1:1),在横向模式下彼此相邻。

我无法找到适合该布局的约束...有没有办法以编程方式进行?你会怎么做?

【问题讨论】:

【参考方案1】:

两种选择: 1. 在 Storyboard/Xib 中启用 Size Class,并为 wCompact|hRegular (Portrait) 和 wAny | 使用一组不同的约束。 hCompact(横向) 2. 根据设备的方向以编程方式执行约束。通常我会这样做,在视图控制器中覆盖viewWillTransitionToSize:withTransitionCoordinator:,并触发约束更新。

【讨论】:

以上是关于Xcode Autolayout - 横向/纵向约束的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用代码的情况下使用约束 AutoLayout 来指定横向与纵向的不同布局?

如何使用 AutoLayout 使 UITableView 适合屏幕

Xcode 说 UIView 在纵向时处于横向模式

如何使约束适用于横向和纵向(xcode 8.1 / swift3 / storyboard)

Xcode 4.6:横向 iPad 应用程序中只有纵向区域处于活动状态

如何设置纵向和横向约束