使用 Autolayout iOS8 自动调整 UI 组件的大小
Posted
技术标签:
【中文标题】使用 Autolayout iOS8 自动调整 UI 组件的大小【英文标题】:Autoresizing UI components using Autolayout iOS8 【发布时间】:2015-05-20 05:40:00 【问题描述】:我为仅纵向的 iPhone 应用程序设计了一个屏幕。我已经应用了自动布局,以便视图水平适合所有屏幕尺寸。问题是,对于较小的屏幕尺寸,内容会被垂直截断。我试图不设置组件的固定高度,但它破坏了组件的所有对齐。 请参阅图片以供参考;
关于我所缺少的任何快速建议...... 谢谢
【问题讨论】:
是的...因为您为 UI 控制器使用了固定高度...使用滚动视图来解决这个问题 【参考方案1】:如果我是你,我会采用两种方法之一 -
-
您可以使用间隔视图来设置组件之间的间距,以便根据屏幕高度调整间距
2.或者如果你的内容比 iphone 屏幕大,那么你总是可以选择滚动视图。(我更喜欢纯布局方法)
【讨论】:
【参考方案2】:设置组件之间的垂直间距。不要固定组件的宽度和高度。为每个组件设置纵横比约束。
【讨论】:
【参考方案3】:像上面的许多 cmets 和答案一样,有很多方法可以解决这个问题。由你来决定哪个更合适
-
纵横比缩放:在所有外形尺寸上保持相同 UI 的常用方法之一是使用纵横比缩放技术,在该技术中给出约束以模拟纵横比缩放。
灵活的间距和大小规则: 设计布局的另一种方法是根据设备的外形设计布局以具有不同类型的间距。这样布局可能会不一致。
使用 iOS8 及更高版本的 Size 类这些可用于维护所有外形尺寸的各种布局。
使用 ScrollView 如果您想保留原始布局并通过滚动查看超出范围的布局,可以使用 scrollView。
【讨论】:
以上是关于使用 Autolayout iOS8 自动调整 UI 组件的大小的主要内容,如果未能解决你的问题,请参考以下文章
使用 AutoLayout 和 iOS 8 为不同设备调整 UICollectionViewCell 的大小
如何在不指定估计行高的情况下使用 iOS 自动调整单元格大小?