使用 AutoLayout 构建响应式布局
Posted
技术标签:
【中文标题】使用 AutoLayout 构建响应式布局【英文标题】:Building responsive layouts with AutoLayout 【发布时间】:2016-01-13 22:04:32 【问题描述】:在过去的几个月里,我一直在努力学习 ios 开发。其中大部分都相对容易,但是,有一件事对我来说非常困难。 自动布局。在我掌握了约束之后,我认为这很容易,但是我很难让我的布局在 iPhone 和 iPad 设备上看起来都很好。我可以很好地为 iOS 设计。最近,我正在构建一个应用程序,我在 ViewController 中放置了两个按钮。在 iPhone 上,我将按钮的约束设置为等于屏幕的宽度(加上屏幕边距),并为按钮设置合理的外观高度。在 iPhone 上,我的布局看起来很棒,但在 iPad(尤其是最新的 iPad Pro)上,事情看起来很可怕。全宽按钮在 iPhone 上看起来很棒,但在 iPad 上,它们的宽度需要小得多,高度要大得多。同样,我的图像在 iPhone 上看起来很棒,但在 iPad 上太小了。在 CSS 中,我可以只使用 MediaQueries,而在 android 上,可以在值和布局上使用资源限定符。
我在这里有什么选择?当某些尺寸需要根据屏幕尺寸、屏幕分辨率等而有所不同时,如何设计我的布局以在 iPhone 和 iPad 上看起来都不错?约束似乎有利于强制尺寸,但不能适应它们。(可能除了纵横比约束)
AutoLayout 系统的哪些功能可以让我在更大的屏幕和 Retina 分辨率之间完成响应式布局?开发响应式布局的一些常见提示/技巧是什么。
【问题讨论】:
【参考方案1】:您可以使用size classes 轻松构建不同的屏幕尺寸。 raywenderlich.com 有一个关于自适应布局的可靠指南。
【讨论】:
【参考方案2】:您可以使用尺寸等级为 iPhone 和 iPad 进行不同的设计,也可以根据所有设备的高度比使用比例宽度高度来看起来完美。如果您想选择第一个选项,那么您可以使用任何可用的教程,但如果您想选择第二个选项,这是一种有点困难但节省时间的方式,那么您需要真正了解设备的尺寸并需要了解实际情况成比例的宽度和高度约束。谢谢。
【讨论】:
以上是关于使用 AutoLayout 构建响应式布局的主要内容,如果未能解决你的问题,请参考以下文章