博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算字符串的高度
阅读量:4563 次
发布时间:2019-06-08

本文共 723 字,大约阅读时间需要 2 分钟。

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  

}

转载于:https://www.cnblogs.com/LusYoHo/p/5511345.html

你可能感兴趣的文章
vue-router组件状态刷新消失的问题
查看>>
Android UI开发第十四篇——可以移动的悬浮框
查看>>
java8的一些用法
查看>>
(十)Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
查看>>
2018-11-19站立会议内容
查看>>
STM32 通用定时器相关寄存器
查看>>
【题解】1621. 未命名
查看>>
字符串加密算法
查看>>
Oracle的实例恢复解析
查看>>
UICollectionView cellForItemAt 不被调用
查看>>
巧用网盘托管私人Git项目
查看>>
python全栈脱产第19天------常用模块---shelve模块、xml模块、configparser模块、hashlib模块...
查看>>
[LeetCode] House Robber
查看>>
virtualbox中kali虚拟机安装增强功能
查看>>
java生成六位验证码
查看>>
iOS的MVP设计模式
查看>>
stringstream
查看>>
【转】HDU 6194 string string string (2017沈阳网赛-后缀数组)
查看>>
前后端分离
查看>>
存储过程
查看>>