Swift Label计算高度

时间:2023-01-09 09:56:45
// 计算字生符串的宽度,高度
let string = "一个叫张三的人,存了三百两银子,想把它藏起来,又怕被人偷去,想来想去,还是把它埋起来好。于是找了个隐蔽地方挖了个坑把银子埋了,但还是不放心,就在埋银子的地方立了块牌子,上面写道“此地无银三百两”。他的邻居李四看到了这个牌子,大笑道:“这不是明明告诉人们,这里有三百两银子吗?”于是就把银子挖走了,但也不放心,怕张三怀疑自己,于是就在那块牌子边上又立了一块牌子,上面写道:“邻居李四不曾偷”。"
let label = UILabel.init(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: 20))
label.backgroundColor = UIColor.orange
label.font = UIFont.systemFont(ofSize: 12.0)
label.text = string
label.numberOfLines = 0
self.view.addSubview(label)
let size = string.boundingRect(with: CGSize(width: label.frame.width, height: 8000), options: .usesLineFragmentOrigin, attributes: [NSFontAttributeName: label.font], context: nil)
var autoRect = label.frame
autoRect.size.height = size.height
label.frame = autoRect