计算字符串的高度

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  

}

posted @ 2016-05-20 11:07  世界仔  阅读(160)  评论(0编辑  收藏  举报