首页 > 其他 > 详细

UILabel.sizeThatFits

时间:2021-04-10 16:35:49      阅读:8      评论:0      收藏:0      [点我收藏+]

需求:

UIScrollView -- UIView -- UILabel

让UILabel来显示一段文本,如果超过一屏,那么自动滚动条。

 

技术分享图片

 

思路:

view.addSubview(sc)

sc.addSubview(vc)

vc.addSubview(label)

......

label.font = UIFont.systemFont(ofSize: defaultFont18)

        label.numberOfLines = 0

        label.textColor = .gray

        label.adjustsFontSizeToFitWidth = true

        label.text = "xxxx"

label.lineBreakMode = NSLineBreakMode.byWordWrapping

//        label.backgroundColor = .red

        label.snp.makeConstraints { (make) in

            make.leading.equalToSuperview().offset(10)

            make.trailing.equalToSuperview().offset(10)

            make.top.equalToSuperview().offset(5)

            make.width.equalToSuperview().offset(-20)

        }

        let size = label.sizeThatFits(CGSize(width: scWidth - 20, height: CGFloat(MAXFLOAT)))

        print("size:\(size.height)")

//关键就在这里,这里实际了,固定宽度,求取实际的label高度。如果是sizetofit来实现,会出现一行文本直接就是一行,不会自动折行,导致显示不全。
//1、111111111111111111111111111111111==》这里开始超过一屏。1111111111111111111111。 label.frame
= CGRect(x: 10, y: 10, width: scWidth - 20, height: size.height) labelView.frame = CGRect(x: 0, y: 0, width: scWidth, height: label.frame.height + 50) print("label:\(label.frame.height)") sc.contentSize = CGSize(width: scWidth, height: labelView.frame.height)

 

UILabel.sizeThatFits

原文:https://www.cnblogs.com/jiduoduo/p/14640837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!