Xcode约束导致图像放大到1920 x 1920

时间:2015-07-21 14:40:53

标签: ios objective-c xcode

以下是该问题的屏幕截图:

它如何出现在Xcode中:

enter image description here

它的内容压缩阻力优先级为h:750 v:750,内容拥抱优先级为h:251 v:251,尾随/前导空间为5,宽度和高度等于390,顶部空间为40 ,和1:1的比例。

编辑:我正在使用自动布局。

还有其他依赖它的元素,但我希望首先正确显示它。

以下是iPhone 6模拟器中的样子:

enter image description here

1 个答案:

答案 0 :(得分:3)

您有太多的约束设置彼此冲突。特别是固定宽度和前导和尾随同时会发生冲突。因此将设置高度和顶部/底部冲突。您可能在控制台中收到错误,告诉您必须打破一些限制。

如果您希望图片按照帖子定位并以1:1的比例增长以填充宽度或高度,则您需要的是:

  • 将前导约束设置为5.

  • 将顶部约束设置为40。

  • 将尾随设置为> = 5.

  • 将底部设置为> = 5.

  • 将宽高比设置为1:1

这就是说你想要从顶部看到图像40,在右边和底部看到至少5的边距,以及1:1的宽高比。图像视图将根据限制其增长的约束而增长:通常是纵向的右侧或横向的底部。

除非您想要修改或限制它,否则不应设置宽度或高度。但是,如果这样做,则无法设置尾随或底部。

内部图像将根据您设置图像视图的方式显示图像:apsect fit,aspect fill ...等等。

<强>更新

我刚注意到你在滚动视图中有图像。我认为你需要将图像视图放在一个给定定义大小的视图中,然后将其添加到滚动视图中。您可能需要在代码中执行此操作以处理多个设备。滚动视图需要知道内容视图的内容大小。请参阅此技术说明:https://developer.apple.com/library/ios/technotes/tn2154/_index.html