Xcode:我将UIImageView设置为Min和Max宽度,那为什么它总是最小的尺寸?

时间:2016-06-08 19:07:39

标签: ios swift autolayout

我已将以下约束添加到我的UIImageView(Name = RunwayGallery):

Width: >= 200
Width: <= 600
Align Center X to: Superview
100:133 Ratio to: RunwayGallery
Top Space to: ImageAbove, Equals 10

那么为什么UIImageView总是宽200?即使在两侧(和下方)有足够的屏幕空间来扩大UIImageView以填充屏幕。

非常感谢。

3 个答案:

答案 0 :(得分:0)

不要在约束中定义图像视图的宽度。在图像视图的左侧和右侧定义所需的填充。然后,自动布局可以使您的图像视图尽可能大,而不会变得太大。

答案 1 :(得分:0)

您需要添加更多约束来告诉UIImageView选择200到600之间的宽度。

你期望superview的宽度是多少?假设superview的宽度在200到600之间,你可以通过删除宽度约束并添加以下约束来告诉UIImageView填充超级视图的宽度:

Leading Space to: Superview Equals: 0
Trailing Space to: Superview Equals: 0

现在UIImageView知道要拉伸,以便在它的前(左)和后(右)边和superview的前端和后边之间没有空格。

答案 2 :(得分:0)

好吧,我把你们的一些答案混合在一起并想出了这个:

Leading Space to: Superview Equals: 0 (priority 900)
Trailing Space to: Superview Equals: 0 (priority 900)
width <= 600 (priority 1000)

这完全有效。如果你考虑它就有意义了。除了大于600之外,它在两侧都有前导和尾随空间。

感谢您的回答!赞赏。

编辑:这仍然是相同的:

Align Center X to: Superview
100:133 Ratio to: RunwayGallery
Top Space to: ImageAbove, Equals 10