ios – XCode:如何在横向和纵向模式之间更改视图布局

ios – XCode:如何在横向和纵向模式之间更改视图布局,第1张

概述在纵向模式下,我从视图控制器的顶部到底部有四个视图(参见图像). 然后,当设备转换为横向时,我想要改变视图相对于彼此的位置(见图2). 我希望视图4与视图2和3一起移动,并且它们都位于视图1下方. 一些布局条件: >视图1以横向和纵向方式附加到视图控制器的顶部. >视图4以纵向模式连接到视图控制器的左,右和下边距. >观点2,3和& 4在纵向视图中水平居中. 实现不同布局的最佳方法是什么? 最优雅 在纵向模式下,我从视图控制器的顶部到底部有四个视图(参见图像).

然后,当设备转换为横向时,我想要改变视图相对于彼此的位置(见图2).

我希望视图4与视图2和3一起移动,并且它们都位于视图1下方.

一些布局条件:

>视图1以横向和纵向方式附加到视图控制器的顶部.
>视图4以纵向模式连接到视图控制器的左,右和下边距.
>观点2,3和& 4在纵向视图中水平居中.

实现不同布局的最佳方法是什么?

最优雅的解决方案是在视图控制器代码中引用约束并在vIEwWillTransition中激活和停用它们吗?或者是否有一种方法可以使用各种特性实现这一点(我可以想象水平居中的视图2,3和4会使这很难实现,以及在横向模式下为视图4添加新的约束)?

解决方法 我们过去常常设置不同的约束集,并根据方向变化激活/停用它们.但是现在可以使用大小类和“因性状而异”.

例如,我从一个简单的视图开始,选择一个紧凑的宽度大小类,然后选择“vary for traits”:

然后我添加适当的约束并单击“完成变化”:

然后我选择“常规宽度大小类”并重复该过程(“变化为特征”,添加约束,单击“完成变化”:

然后,您最终会得到一个场景,该场景将对紧凑宽度大小类和常规宽度大小类具有完全不同的约束集.即当我运行应用程序时,如果设备旋转,则会激活新约束:

有关更多信息,请参阅有关自适应布局的WWDC 2016视频:

> https://developer.apple.com/videos/play/wwdc2016/222
> https://developer.apple.com/videos/play/wwdc2016/233

总结

以上是内存溢出为你收集整理的ios – XCode:如何在横向和纵向模式之间更改视图布局全部内容,希望文章能够帮你解决ios – XCode:如何在横向和纵向模式之间更改视图布局所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1068665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存