美文网首页iOS
【iOS开发】UIlabel多行显示不全的问题

【iOS开发】UIlabel多行显示不全的问题

作者: WMSmile | 来源:发表于2018-12-25 16:57 被阅读13次

今天遇到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;

这样获取的高度就完美显示了

相关文章

网友评论

    本文标题:【iOS开发】UIlabel多行显示不全的问题

    本文链接:https://www.haomeiwen.com/subject/atoflqtx.html