2021-06-23

UIlabel有一个属性叫preferredMaxLayoutWidth,官方解释是:

  • // Support for constraint-based layout (auto layout)
  • // If nonzero, this is used when determining -intrinsicContentSize for multiline labels
  • //支持基于约束的布局(自动布局)
  • //如果非零,则在为多行标签确定-intrinsicContentSize时使用此方法

所以我们需要设置preferredMaxLayoutWidth = 指定宽,但是这样并不会生效,因为UIlabel默认不换行,这个属性需要UILabel设置换行才可以生效,但是我们又需要限制在一行显示,并且不换行

所以需要设置UIlabel的numberOfLines = 0,并限制UIlabel的高度,这样既不会换行,又限制了最大宽度

self.name_lab.preferredMaxLayoutWidth = 170 * kScaleWidth;
self.name_lab.numberOfLines = 0;
self.name_lab.height = 20;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容