在纵向模式下,我从视图控制器的顶部到底部有四个视图(参见图像).
然后我想在设备转换为横向时更改视图相对于彼此的位置(参见图2).
我希望视图4与视图2和3一起移动,并且它们都位于视图1下方.
一些布局条件:
实现不同布局的最佳方法是什么?
最优雅的解决方案是在视图控制器代码中引用约束并在viewWillTransition中激活和停用它们吗?或者有没有办法使用各种特性来实现这一点(我可以想象水平居中的视图2,3和4会使这很难实现,以及在横向模式下为视图4添加新的约束)?
Rob*_*Rob 20
我们过去常常设置不同的约束集,并根据方向变化激活/停用它们.但是现在可以使用大小类和"因性状而异".
例如,我从一个简单的视图开始,选择一个紧凑的宽度大小类,然后选择"Vary for traits":
然后我添加适当的约束并单击"完成变化":
然后我选择"常规宽度大小类"并重复该过程("对特征变化",添加约束,单击"完成变化":
然后,您最终得到一个场景,该场景将对紧凑宽度大小类和常规宽度大小类具有完全不同的约束集.即,当我运行应用程序时,如果设备旋转,则会激活新约束:
有关更多信息,请参阅有关自适应布局的WWDC 2016视频:
| 归档时间: |
|
| 查看次数: |
14926 次 |
| 最近记录: |