根据UIlabel的内容父视图自适应高度

如下图的需求:

根据UIlabel的内容父视图自适应高度_第1张图片

这是一个单元,左侧是个固定宽高的UIImageView,起名imgView,中间也是个UIImageView,起名selectImgView,右侧是个UILabel,起名contentLab。

现在的问题是,但文字数据不多时,整个视图高度设置为60是可以的,但是文字多了的时候,会造成显示不全。

于是,需要让整个视图的高度动态变化,由于左侧的imageView大小是不变的,label的大小是变化的,整个视图的高度需要和label绑定。代码设置如下:

根据UIlabel的内容父视图自适应高度_第2张图片

将contentLab设置了一个初始高度,和左侧的imgView一样。完美解决了整个视图高度随着contentlab内容高度的变化,而且文字没有超出imgView的底部的时候,整个视图的高度也只是imgView的高度。contentLab文字高度超出imgView底部的时候,整个视图也是随着contentLab的高度来变化的。

但是又出现的下面的问题:文字比较少的时候,会像下面这样显示:


根据UIlabel的内容父视图自适应高度_第3张图片

contentLabel的高度过高,内容太少,UILabel会自动在垂直方向居中显示,而且没有属性用来更改这种显示。

下面是我找的一个比较靠谱的方法的代码:

根据UIlabel的内容父视图自适应高度_第4张图片
.h文件


根据UIlabel的内容父视图自适应高度_第5张图片
.m文件

之的显示是这样的:


以上是我遇到的问题,欢迎大家一起讨论0^0~

你可能感兴趣的:(根据UIlabel的内容父视图自适应高度)