我通过使用纵横比创建约束设置来在故事板上开发了大部分UI。现在,我发现在iPhone X上,所有具有比率的约束看起来都是拉伸的和不正确的。用最适合所有iPhone尺寸的宽高比设置约束的最佳解决方案是什么?
答案 0 :(得分:0)
我不确定其他人会怎么做,但是为了解决这种情况,我做了一个size
(高度和宽度)约束,而不是aspect ratio
约束。这可能会导致它在不同屏幕上的大小略有不同,但是长宽比保持不变。
例如,
与其在方形视图上设置aspect ratio
约束,不如尝试
将height
和width
的约束设置为相等的值,例如250
和250
。
答案 1 :(得分:0)
您正在将“长宽比”与“百分比”混淆。
如果您希望背景图像在尺寸更改时不显得“拉伸”,则需要给它提供宽高比+百分比大小,或者使用其他图像。
例如:
iPhone SE屏幕为320 x 568
,因此高度为50%(宽度为100%)的图像为320 x 284
。
iPhone 8屏幕为375 x 667
,因此高度为50%(宽度为100%)的图像为375 x 333.5
。
iPhone X屏幕为375 x 812
,因此高度为50%(宽度为100%)的图像为375 x 406
。
很明显,您的图片不能为320 x 284
和 375 x 333.5
和 { {1}}都在同一时间。
您可能不需要将图像视图设置为屏幕高度的50%,而是需要将其限制为屏幕的整个 width 并赋予375 x 406
约束。它不会在每个设备上覆盖相同的百分比高度(不要忘了iPad的尺寸),但是看起来不会拉长。