【iOS开发】UIlabel多行显示不全的问题
2018-12-25 本文已影响13人
WMSmile
今天遇到UIlabel获取高度之后多行显示不全的问题,特此记录一下。
这个方法获取显示不全
/// get string size
///
/// - Parameters:
/// - size: CGSize
/// - font: UIFont
/// - Returns: CGSize
func getStringSize(size:CGSize,font:UIFont) -> CGSize {
let attributes = [NSAttributedString.Key.font: font];
let option = NSStringDrawingOptions.usesLineFragmentOrigin;
let rect = self.boundingRect(with: size, options: option, attributes: attributes, context: nil);
return rect.size;
}
这两个方法获取sizeThatFits:和systemLayoutSizeFitting可以完全显示,完美
frame布局获取size
height = [self.titleLabel sizeThatFits:size].height;
autolayout布局获取size
var height = cell.rightLB.systemLayoutSizeFitting(CGSize(width: APP_SCRAL_WIDTH - 140 * APP_SCRAL, height: 0)).height;
这样获取的高度就完美显示了