iOS

【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;

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

上一篇下一篇

猜你喜欢

热点阅读