iOS:使用自动布局针对不同的屏幕尺寸进行缩放

iOS: Scaling for different screen sizes with Auto Layout

我正在为 iPhone 编写应用程序,并且我正在使用自动布局。我了解@1x、@2x 和@3x 的工作原理,但我不明白如何使用自动布局处理不同的屏幕尺寸。

如果我想让一个场景在 iPhone 6+、iPhone 6 和 iPhone 5 上看起来都不错,我需要考虑每个 phone。我不能在所有 iPhone 上使用相同的图像大小(以磅为单位),因为它在较小的 phone 上看起来太大,或者在较大的 phone 上看起来太小。我什至不想想象 iPad 布局的麻烦。

我该如何解决这个问题?我应该使用约束来使我的所有图像动态缩放吗?这听起来可行,但我想知道最好的解决方案是什么。

谢谢。我真的很茫然。

您可以使 @2x 和 @3x 比其对应的 @1x 不成比例地大,然后使用 UIImageView 的固有大小让它针对不同的屏幕尺寸变得更大

我自己从未尝试过这样的事情,但我不明白为什么它不起作用

如果您想在不同尺寸上保持比例(例如,一张图片在每个设备上具有相同的外观尺寸),您可以使用约束。

我经常做的一个小技巧是:

定义纵横比约束(cmd + 单击您的视图开始和视图结束):

然后强制您的视图增加宽度或高度(即:定义左右约束)。

这完全取决于您的实际需求,并且 constraints/code 会因情况而异。