iOS:UIView 的 Autolayout 拉伸高度过多(Xcode 8、Swift 3)

Posted

技术标签:

【中文标题】iOS:UIView 的 Autolayout 拉伸高度过多(Xcode 8、Swift 3)【英文标题】:iOS: Autolayout stretching height of UIView too much (Xcode 8, Swift 3) 【发布时间】:2017-05-28 17:18:35 【问题描述】:

在屏幕底部,我有一个带有按钮的视图,可以更改颜色,如下所示:

但是,在将所有约束重置为建议的约束后,视图中的所有内容都很好,除了底部的 UIView,在 iPhone 7 Plus 上运行时:

我不确定要添加哪些约束才能使图像成为正常高度。任何帮助表示赞赏,谢谢。

【问题讨论】:

你能告诉我们添加到底部视图的约束是什么吗? @Badhan Ganesh imgur.com/a/4KIqY - there is an imageview hidden underneath the bottom view that appears when that button with the color picker image is selected 【参考方案1】:

超级视图(底视图)应具有以下约束:

    底部空间到容器(外观) 引导空间到容器(外观) 尾随空格到容器(外观)

并且包含图片的按钮应具有以下约束:

    纵横比 水平居中到容器(底视图) 底部空间到容器(底视图) 顶部空间到容器(底视图)

设置按钮的长宽比不会使按钮在 iPhone 7 Plus 上看起来很丑(扭曲的长宽比)。

【讨论】:

完美运行。谢谢 请点赞并接受答案。乐于助人:)

以上是关于iOS:UIView 的 Autolayout 拉伸高度过多(Xcode 8、Swift 3)的主要内容,如果未能解决你的问题,请参考以下文章

iOS Autolayout 调整标签大小和它们之间的空间

AutoLayout 适用于 UIView 但不适用于 UILabel。为啥?

UISearchBar AutoLayout ios7 错误?

AutoLayout 奇怪的行为 iOS

iOS 8 AutoLayout 改变视图的位置

iOS Autolayout:两个等宽等间距的视图