在 Objective C 中使用自动布局分离纵向和横向视图

Posted

技术标签:

【中文标题】在 Objective C 中使用自动布局分离纵向和横向视图【英文标题】:Separate Views for Portrait and Landscape using Autolayout in ObjectiveC 【发布时间】:2014-10-31 14:35:11 【问题描述】:

ios 8、Xcode 6.1、Objective-C、iPhone/iPad)

如何为纵向和横向视图创建单独的视图?

例如,我试图在 Web 视图中演示一些功能。对于纵向,我希望它们堆叠在一起,如下图 1 所示。在横向视图中,我希望它们并排,如图 2 所示。

有什么建议吗? tyvm :) 基思

【问题讨论】:

我的建议是有两个不同的视图。一张是纵向的,一张是横向的。然后,只需检测方向(并监听方向变化)并显示正确的视图。 创建约束?但是,我认为设置一个框架更好..示例只需获取设备的宽度和高度,然后 /2 并且您可以在更改方向时更新它.. 您是否更想知道如何在两个单独的视图中实际实现自动布局?如果是这样,你可以看看我之前在一个关于自动布局的问题上发布的这个答案:***.com/a/26507973/1813167 @Hudson:呸。分离控制器以复制内容?看起来有点像 2004 年。不,我想要一个单独的视图来根据设备方向适当地呈现 web 视图。 选择:紧凑宽度 |纵向选择的故事板底部的常规高度:常规宽度 |风景故事板底部的紧凑高度 【参考方案1】:

xCode 6.1:

选择:紧凑宽度 |纵向故事板底部的常规高度

选择:常规宽度 |横向故事板底部的紧凑高度

您不必为 Any:Width | 创建任何视图任意:身高

您可以在这里调整班级规模。

【讨论】:

以上是关于在 Objective C 中使用自动布局分离纵向和横向视图的主要内容,如果未能解决你的问题,请参考以下文章

在Objective C中点击后退按钮时如何将界面方向从横向更改为纵向

如何针对不同的 iPhone 屏幕尺寸在纵向和横向中使用自动布局

如何使用自动布局为纵向和横向方向配置不同的布局?

使用自动布局约束动态创建视图?在Objective-C中?

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

在 IOS Objective C 中,如何让单元格自动调整其子 UITableView 的内容大小