Xcode:我已经将我的UIImageView设置为最小和最大宽度,那么为什么它总是最小的尺寸?
问题描述:
我已经把以下限制我的UIImageView(名称= RunwayGallery):Xcode:我已经将我的UIImageView设置为最小和最大宽度,那么为什么它总是最小的尺寸?
Width: >= 200
Width: <= 600
Align Center X to: Superview
100:133 Ratio to: RunwayGallery
Top Space to: ImageAbove, Equals 10
那么,为什么总是UIImageView的宽度200?即使在两侧(和下方)都有足够的屏幕空间来放大UIImageView以填充屏幕时,也是如此。
非常感谢。
答
不要在约束中定义图像视图的宽度。定义您想要的图像视图左侧和右侧的填充。然后自动布局可以使您的图像尽可能大,而不会变得太大。
答
你需要添加更多的约束来告诉UIImageView选择200到600之间的宽度。
你认为superview的宽度是多少?假设上海华盈的宽度将是200和600之间,你可以告诉的UIImageView通过移除两个宽度的限制,增加了以下限制,以填补上海华宽度:
Leading Space to: Superview Equals: 0
Trailing Space to: Superview Equals: 0
现在的UIImageView知道伸展,以便有在其领先(左侧)和后侧(右侧)与超级观点的前后两侧之间没有空间。
答
好吧,我混合了一些你们的答案以及与此想出了:
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
因为你的约束是不明确的。 200到600之间的任何宽度都可以满足他们,自动布局恰好选择200. – dan
似乎很公平。那么如果我想要最大宽度,我应该如何添加约束条件,但是当屏幕变得太小时它会调整大小? –
也许:宽度= 600,优先级= 900,宽度> = 200,优先级= 1000。 – tagy22