美文网首页
Swift4.2 获取文本的高度

Swift4.2 获取文本的高度

作者: ShineYangGod | 来源:发表于2018-08-10 13:57 被阅读179次

    //获取字符串尺寸
    private func getNormalStrSize(str: String? = nil, attriStr: NSMutableAttributedString? = nil, font: CGFloat, w: CGFloat, h: CGFloat) -> CGSize {
    if str != nil {
    let strSize = (str! as NSString).boundingRect(with: CGSize(width: w, height: h), options: .usesLineFragmentOrigin, attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: font)], context: nil).size
    return strSize
    }

    if attriStr != nil {
        let strSize = attriStr!.boundingRect(with: CGSize(width: w, height: h), options: .usesLineFragmentOrigin, context: nil).size
        return strSize
    }
    
    return CGSize.zero
    

    }

    //获取获取字符串尺寸高度
    func getNormalStrH(str: String, strFont: CGFloat, w: CGFloat) -> CGFloat {
    return getNormalStrSize(str: str, font: strFont, w: w, h: CGFloat.greatestFiniteMagnitude).height
    }

    //获取字符串宽度
    func getNormalStrW(str: String, strFont: CGFloat, h: CGFloat) -> CGFloat {
    return getNormalStrSize(str: str, font: strFont, w: CGFloat.greatestFiniteMagnitude, h: h).width
    }
    //获取富文本字符串高度
    func getAttributedStrH(attriStr: NSMutableAttributedString, strFont: CGFloat, w: CGFloat) -> CGFloat {
    return getNormalStrSize(attriStr: attriStr, font: strFont, w: w, h: CGFloat.greatestFiniteMagnitude).height
    }
    //获取富文本字符串宽度
    func getAttributedStrW(attriStr: NSMutableAttributedString, strFont: CGFloat, h: CGFloat) -> CGFloat {
    return getNormalStrSize(attriStr: attriStr, font: strFont, w: CGFloat.greatestFiniteMagnitude, h: h).width
    }

    相关文章

      网友评论

          本文标题:Swift4.2 获取文本的高度

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