美文网首页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