使用 AutoLayout 为所有 Iphone 屏幕尺寸调整 Elements 的 Y 位置

Posted

技术标签:

【中文标题】使用 AutoLayout 为所有 Iphone 屏幕尺寸调整 Elements 的 Y 位置【英文标题】:Adjusting Y position of Elements for all Iphone screen size using AutoLayout 【发布时间】:2016-05-19 08:20:58 【问题描述】:

我正在使用放置在父视图顶部的图像视图。父视图的颜色已更改。我希望我的设计在 portait 中的所有 iphone 屏幕尺寸上看起来都一样。 top tabel 定位准确,因为它应该在中心。但是我的徽标有问题,正如您在屏幕截图中看到的那样,徽标仅在 iphone 5.5 英寸中处于完美位置。对于所有设备,我应该设置什么约束将我的徽标定位为同一点(让我们说“YAS”中的 S 应该像 Iphone 5.5 中那样触摸女孩的头发)? 我已经应用了约束,但它不起作用请指导我

这就是我要预览的内容 这些是我的约束 这是我的xib 我尝试了乘数的不同值,但什么也没发生

图像视图处于缩放填充模式

【问题讨论】:

上传带有此配置的视图控制器的演示项目或上传图片 @Dinesh 是因为这张图片吗? @Lion 图片已上传,请指导我您正在谈论哪些其他图片 不,我想从我的 xcode 中尝试这个。所以我问的是真实图像而不是故事板的屏幕截图。如果可能的话,用一个 VC 做一个演示,如果可能的话上传它 我可以在哪里以 zip 文件格式上传它?我使用的是 Xib 而不是故事板 【参考方案1】:

手动定位您的 LOGO 水平居中,然后给出 TOP、LEADING、TRAILING 和纵横比约束。当您的视图的宽度将增加时,这些约束将增加您的徽标的高度。 还将您的 ImageView(Logo) View -> Mode 设置为底部(在属性检查器中)。

【讨论】:

我没明白!!我在问我的徽标 YAS 我做到了,但结果是一样的,我给了 TOP , LEADING , TRAILING 约束关于主视图 TOP、LEADING、TRAILING 和 ASPECT RATION(这很重要)。不要给出任何高度和底部约束。 这些是我应用的约束 Image View.centerX = centerX ,, trailing = Image View.trailing + 224 ,, Image View.top = top + 150 ,, Image View.leading =leading + 224 ,, 方面 = 105:34 是的,我看到了。不要给出任何中心约束,只给出我所说的 4 个约束。

以上是关于使用 AutoLayout 为所有 Iphone 屏幕尺寸调整 Elements 的 Y 位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在iPhone SE和5S上设置AutoLayout?

Masonry介绍与使用实践(快速上手Autolayout)

Masonry介绍与使用实践:快速上手Autolayout

为 Autolayout 设置 UIScrollView 以便滚动 _only_ 用于小屏幕

如何使用 Xcode AutoLayout 调整图像大小?

Xcode 6 Auto Layout - 所有设备的 UI 元素之间的恒定水平间距