使用snapkit 时注意
self.commentImageView.snp.makeConstraints { (make) in
make.right.equalTo(self.commnetLabel.snp.left).offset(-5)
make.centerY.equalTo(self.commnetLabel)
make.width.height.equalTo(25)
}
尽量用
let textHeight:CGFloat = getLabHeigh(labelStr: self.desLabel.text!, font: self.desLabel.font, width: kScreen_Width - 30)
self.desLabel.frame = CGRect(x: 15, y: 50, width: kScreen_Width - 30, height: textHeight)
计算高度的方法
func getLabHeigh(labelStr:String,font:UIFont,width:CGFloat,lineSpacing:CGFloat = 2) -> CGFloat {
let statusLabelText: NSString = labelStr as NSString
let size = CGSize(width: width, height: 9999)
//通过富文本来设置行间距
let paraph = NSMutableParagraphStyle()
//行间距设置
paraph.lineSpacing = lineSpacing
//样式属性集合
let attributes = [NSAttributedString.Key.font:font,NSAttributedString.Key.paragraphStyle: paraph]
//boundingRect函数只有NSString可以用
let strSize = statusLabelText.boundingRect(with: size, options: .usesLineFragmentOrigin, attributes: attributes, context: nil)
return strSize.height
}