当前位置:  开发笔记 > IOS > 正文

iOS - 使UIImageView调整大小以适应UILabel和AutoLayout

如何解决《iOS-使UIImageView调整大小以适应UILabel和AutoLayout》经验,为你挑选了1个好方法。

我已经有这个问题了很长一段时间以来它让我发疯了:我有一个UILabel文本可以动态改变,我有一个UIImageView应该作为文本的背景.我希望UIImageView能够自我调整以适应UILabel的文本.

在此输入图像描述

例如,"付费"可能会成为"免费"或法语中的"付款人",后面的框应该始终调整大小.

使用Storyboard,我尝试在其顶部添加UILmageView和UILabel,并将UILabel的约束设置为UIImageView,但这最终会将UILabel的大小调整为UIImageView的大小.我无法为UIImageView设置固定的宽度或高度,因为它应该适应.

我的第二次尝试是制作UIView,将其重新分类为UIIimageView,将UILabel添加为子视图,使UIView调整大小到UILabel并以编程方式添加图像,但再次没有成功.

这样做的正确方法是什么?



1> beyowulf..:

对于第一种方法,我假设您设置了标签,图像视图具有相同的垂直和水平中心,并且具有相同的高度和宽度.问题是布局引擎假设图像的内在大小比标签更重要.要更改它,您需要更改拥抱优先级和视图的抗压缩性.在此输入图像描述转到标签(图片)的大小检查,并将拥抱优先级提高到所需.这将是它的高度和宽度,它的内在高度和宽度.您还可以降低图像视图的抗压缩性,因此可以更容易地调整尺寸.

标签的约束:在此输入图像描述

您可以更改顶部并将其置于视图中的适当位置.

图像视图的约束: 在此输入图像描述

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有