[英]Image is not working as expected with constraints
我有一个根UIView
(用于渲染阴影),它的内容是另一个UIVIew
,它在底部包含一个UIImage
和一些标签。 当我查看在接口生成器中设置了约束的示例海报时,它看起来或多或少是我想要的。
在此屏幕快照中, DropshadowUI View
包含内容并渲染阴影。 CardView
在底部同时包含UIImageView
和UILabel
。 DropshadowUI View
是透明的, CardView
具有蓝色背景,并且是阴影的整个高度/宽度(带有一点边距), UIImageView
具有绿色背景,有助于在测试时区分视图。 您可以看到, UIImageView
大约占据了CardView
布局的80%,这是理想的。 CardView
的其余部分由UILabel
。
但是,当我运行该应用程序时,约束似乎与界面构建器中所示的工作方式不同。 UIImageView
拉伸以占据CardView
的整个高度。 因此, UILabel
被隐藏起来了。 从我的UINavigationBar和UITabBar后面的绿色模糊来看,尽管图像甚至没有那么大,但UIImageView
似乎垂直延伸到可见区域的范围之外。
现在,在界面生成器中设置了UIImageView
图像(将在工作时以编程方式设置)。 内容模式为纵横比适合。 为什么UIImageView
垂直拉伸? Status
标签的Superview底部到底部的空间设置为8点。 Year
标签的底部空间被限制在状态的顶部。 该Movie Title
的屁股被约束到顶部Year
。 Movie Title
的顶部被限制在UIImageView
的底部。 假设标签将阻止图像视图在底部生长,而是通过拉伸顶部而变高(这仅限于Superview视图的顶部。
我的约束有问题吗? 我仍在学习自动布局系统,因此,如果屏幕截图中有某些内容无法帮助解释我的约束条件,请让我知道我可以做些什么来帮助澄清它们。
尽管设计时视图看起来正确,但我还是将UIImageView
重置为建议的约束,并最终在运行时完成了此操作。
我是否有办法约束UIImageView,以使图像只能变得更高,直到空间不足以容纳其余内容为止。 我在这里丢失了底部标签,因为现在图像适合UIImageView
但是将其他所有内容推到了最低点。 我希望它尝试填充尽可能多的水平空间,直到它下面的兄弟姐妹不再能够被进一步压低为止。
我得到的与我想要的
选择您的图像,然后转到“ 布局问题”工具>“重置为建议的约束”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.