iOS 布局列到行

Posted

技术标签:

【中文标题】iOS 布局列到行【英文标题】:iOS layout column to row 【发布时间】:2016-07-20 15:36:25 【问题描述】:

我正在开发一个 ipad 应用程序,我需要一些关于一个屏幕布局的帮助:

屏幕必须横向显示 3 列 并且纵向只有 2 列和 1 行。

在自动布局和 UICollectionView 之间,哪种方法最好?

提前致谢^^


编辑 07/25/2016

我非常喜欢 Matt 的提议,我已经开始实施这个解决方案(2 UIStackViews) 但现在我被条件约束困住了:

我的 xib 被参数化以显示在景观模拟指标中(不确定它是否有任何后果,但现在有疑问......)

通过监听 UIDevice 方向更改通知,我已设法根据方向(纵向为垂直或横向为水平)更新根 UIStackView 轴。

我已使用“按比例填充”将此根 UIStackView 分布属性参数化,但视图显示效果不佳。 纵向底部“行”视图的高度太大,横向只能看到子 UIStackView 中的两列(最后一个视图超出屏幕的右边缘

【问题讨论】:

【参考方案1】:

屏幕必须横向显示 3 列,纵向仅显示 2 列和 1 行

无论在何处涉及列和行,您都应该考虑使用 UIStackView。您可以通过将视图放入 UIStackView 中轻松地在 Interface Builder 中设计整个界面,甚至可能将包含 UIStackViews 放入 UIStackView 中(例如,将三列放在一行中)。您可以使用条件约束/视图使界面在纵向和横向上有所不同。因此,您描述的整个行为可能根本不需要代码。

【讨论】:

【参考方案2】:

在自动布局和 UICollectionView 之间,哪种方法最好?

这确实是两种截然不同的东西。如果您有一堆项目需要一个接一个地布置,请使用带有网格布局的集合视图。您可以使用约束和自动布局在设备旋转时调整集合视图的尺寸,然后让集合视图布局各个项目(单元格)。要使其正常工作,您可能需要做的主要事情是调整单元格的大小,以使它们之间的间距保持一致。

【讨论】:

以上是关于iOS 布局列到行的主要内容,如果未能解决你的问题,请参考以下文章

没有 UNPIVOT 的 Oracle SQL 列到行

具有不同日期的列到行

python pandas,某些列到行[重复]

python pandas,某些列到行[重复]

T-SQL 中的列到行

oracle中的列到行