计算字符串的高度

Posted 世界仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算字符串的高度相关的知识,希望对你有一定的参考价值。

extension String {

    //////

    /// @brief 获取字符串的高度

    /// @param fontSize 字体大小

    /// @param width 限制一行显示的宽度

    /// @return 返回文本在width宽度的条件下的总高度

    ///

    func height(let fontSize: CGFloat, let width: CGFloat) ->CGFloat {

        let font = UIFont.systemFontOfSize(fontSize)

        let size = CGSizeMake(width, CGFloat.max)

        

        var style = NSMutableParagraphStyle()

        style.lineBreakMode = NSLineBreakMode.ByCharWrapping

        

        var attributes = [NSFontAttributeName: font, NSParagraphStyleAttributeName: style.copy()];

        

        // 强转成NSString

        var text = self as NSString

        var rect = text.boundingRectWithSize(size,

                                             options: NSStringDrawingOptions.UsesLineFragmentOrigin,

                                             attributes: attributes,

                                             context: nil)

        

        return rect.size.height  

}

以上是关于计算字符串的高度的主要内容,如果未能解决你的问题,请参考以下文章

Swift 字符串动态计算高度

在将 html 字符串加载到 UIWebview 之前,如何计算它的高度?

为啥在 Tkinter 中计算的字符串的像素宽度和高度因平台而异?

Swift开发教程--如何计算字符串的宽度和高度

根据字符长度怎样计算出需要显示的label宽度高度

iOS为带有嵌入推文的html字符串计算正确的WKWebview高度