"图片视图"的位置和大小含义不明确。

5
我正在尝试在Storyboard中设置一个UIImageView的大小和宽度没有固定值。我将其leading space to container设置为大于或等于20,top space to the container设置为大于或等于20,trailing space to container设置为大于或等于20以及与UICollectionView之间的vertical spacing,UICollectionView满足约束条件,但UIImageView无法正常工作,提示位置和大小不明确。我该如何使其工作?我的想法是无论图像视图有多大,它始终保持20个单位的leading、top、trailing和bottom空间。

我已将高度和宽度设置为大于或等于某个值,并将其优先级设置为999,低于leading、top和trailing的优先级。我还将imageview设置为水平居中。但是我收到“Image view”的高度和垂直位置不明确的提示。


可以发一些代码/代码日志吗? - Marco Pace
1
没有代码,请查看图片。 - yong ho
5个回答

9

当您为UIImageView添加高度和宽度约束,但将其优先级设置为较低值(例如1)时,您能看到发生了什么吗?这应该有所帮助,但现在UIImageView不会居中。您可以通过将UIImageView放入另一个视图(空的UIView)并在水平和垂直方向上都将其居中来修复它。


1
我已将高度和宽度设置为大于或等于某个值,并将它们的优先级设置为999,低于前导、顶部和尾随优先级。我已将ImageView设置为水平居中。但是我得到了“ImageView”的高度和垂直位置不明确的错误提示。 - yong ho
2
@yongho 保留现有的限制条件,但添加宽度和高度的新限制条件(相等,而不是大于或等于),优先级为1。想一想:如果没有设置图像(请阅读“intrinsicContentSize”),并且您只有两个“大于或等于”约束条件,那么自动布局将不知道您想要什么边距,因为许多对都可以满足约束条件。 - Arek Holko
谢谢,它起作用了。虽然它说垂直位置不明确,但是线条最终都是蓝色的。 - yong ho
@yongho:我已经制作了类似的布局,但我没有收到有关垂直位置不明确的警告。所以,我不确定为什么会发生这种情况。 - Arek Holko

2
当你遇到这个错误时:
“视图”的位置和大小是不明确的。
可能以下约束条件缺失/设置不正确:
1.宽度约束(大小问题) 2.高度约束(大小问题) 3.对齐约束(位置问题)

2
如果你正在使用堆栈视图(Stack Views),请确保照片图片视图(Photo Image View)在堆栈视图中!(就像Apple教程中那样)

还有关于UIStackView的内容,请查看这里 - SparkyRobinson
1
这就是我要说的了,谢谢!我正在做“FoodTracker”教程,但我忘记在“Stack View”中包含“UIImageView”。 - Andi

0
在运行时高度/宽度不明确,但在故事板时间模糊的情况下,例如动态设置图像、具有容器视图等,我尝试添加带有占位符勾选标记的约束以使Xcode静音。

0
如果您想通过编程为按钮添加边距之类的内容,请尝试以下方法,看看是否有效。
[button_Name setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 12.0, 0.0, 0.0)];

希望这个能够运行..!!!


我正在尝试在Storyboard中实现它。我不想让边距固定。 - yong ho
将按钮作为IBOutlet属性,然后尝试它..!! :) - Indra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接