Swift autoLayout 下的UILabel 换行问题

    xiaoxiao2021-04-16  39

    1. numberOfLines

    这个大家都知道设置为0.numberOfLines = 0

    2. 设置约束

    比如上下左右,这里使用了SnapKit。

    .snp.makeConstraints({ (make) in make.top.equalTo(self).offset(5) make.left.equalTo(self).offset(15) make.bottom.equalTo(self).offset(-5) make.right.equalTo(self).offset(-15) })

    这样是不会出现换行的,在UILabel类里面看看是否有相关属相方法,拉倒最底部发现一个属性preferredMaxLayoutWidth 看解释就是在使用约束的时候设置可计算的最大宽度就可以实现换行了。

    .preferredMaxLayoutWidth = hScreenWidth-30.0

    现在就ok了

    注意:layout换行的计算是需要的width的,所以给出的preferredMaxLayoutWidth属性误差不要太大,否则出错。

    转载请注明原文地址: https://ju.6miu.com/read-672692.html

    最新回复(0)