实现UILabel的文字,设置行间距和字间距。

效果图:

代码:

        let lblTitle = UILabel(frame: CGRect(x: , y: , width: KScreenWidth-, height: ))
lblTitle.textColor = UIColor.white
lblTitle.backgroundColor = UIColor.darkGray
lblTitle.textAlignment = .center
lblTitle.numberOfLines =
lblTitle.font = UIFont.systemFont(ofSize: )
lblTitle.text = "SDCycleScrollView之前一直在OC中使用觉得很简单又熟悉了所以这次写的Demo依旧搬了过来.SDCycleScrollView之前一直在OC中使用觉得很简单又熟悉了所以这次写的Demo依旧搬了过来."
self.view.addSubview(lblTitle) let attrStr = NSMutableAttributedString(string: lblTitle.text!)
//设置行间距
let style:NSMutableParagraphStyle = NSMutableParagraphStyle()
style.lineSpacing = //行间距(垂直上的间距)
style.lineBreakMode = .byCharWrapping //英文字符拆开显示,byWordWrapping表示不拆开显示
style.alignment = .center //居中显示(如果要设置alignment,这个必须设置,因为label的textAlignment会无效)
style.firstLineHeadIndent = 25.0 //设置首行字符缩进距离
style.headIndent = //每行的左右间距
attrStr.addAttribute(NSParagraphStyleAttributeName, value: style, range: NSRange(location: , length: (lblTitle.text?.characters.count)!))
//设置字间距
attrStr.addAttribute(NSKernAttributeName, value: 1.5, range: NSRange(location: , length: (lblTitle.text?.characters.count)!))
lblTitle.attributedText = attrStr

以上的参数,都可以自己根据需求封装方法。

行间距:lineSpacing

字间距:NSKernAttributeName 的value值

其他。。。

最后,如果要计算设置后的高度或size

把 NSParagraphStyleAttributeName、NSKernAttributeName两个属性设置完毕后,再作为 boundingRectWithSize 方法的 attributes属性 就行了。

参考网络:

enjoy~

iOS UILabel设置行间距和字间距的更多相关文章

  1. UILabel设置行间距和字间距并计算高度-b

    #define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...

  2. (转)iOS学习——UIlabel设置行间距和字间距

    在iOS开发中经常会用到UIlabel来展示一些文字性的内容,但是默认的文字排版会觉得有些挤,为了更美观也更易于阅读我们可以通过某些方法将UIlabel的行间距和字间距按照需要调节. 比如一个Labe ...

  3. UILabel的行间距,字间距处理

    啥都不说了,直接上代码,做了一个Category #import <UIKit/UIKit.h> @interface UILabel (ChangeLineSpaceAndWordSpa ...

  4. 使用CSS设置行间距,字间距.

    字间距1.text-indent设置抬头距离css缩进即对,对应div设置css样式text-indent : 20px; 缩进了20px 2.letter-spacing来设置字与字间距_字符间距离 ...

  5. css如何设置label的字间距

    css.html如何设置label的字间距 .myClass  label{ letter-spacing: 10px; } 如果label需要居中,需加上 text-indent: 10px; 首行 ...

  6. UILabel设置行间距

    UILabel设置行间距: NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWi ...

  7. Lodop设置文本项行间距、字间距

    LODOP给文本项ADD_PRINT_TEXT设置字间距.行间距,可以在打印设计页面,右键属性里设置,然后在打印设计生成代码,也可以直接写代码.LineSpacing行间距.LetterSpacing ...

  8. iOS UILabel自定义行间距

    NSString *hintStr = @"输入材料标题搜索材料\n注:可根据材料序号直接搜索, 如TPO23"; CGSize size = [toolset returnTex ...

  9. (转载)iOS UILabel自定义行间距时获取高度

    本文介绍一下自定义行间距的UILabel的高度如何获取,需要借助一下开源的UILabel控件:TTTAttributedLabel 附下载地址 https://github.com/TTTAttrib ...

随机推荐

  1. 最小二乘法多项式曲线拟合原理与实现 zz

    概念 最小二乘法多项式曲线拟合,根据给定的m个点,并不要求这条曲线精确地经过这些点,而是曲线y=f(x)的近似曲线y= φ(x). 原理 [原理部分由个人根据互联网上的资料进行总结,希望对大家能有用] ...

  2. PLSQL Developer连接远程Oracle数据库

    要连接远程数据库,传统的一定可行的方法是在本地装一个oracle.然后使用"Network Configuration Assistant"配置.之后用PL/SQL Dev连接.由 ...

  3. 手动建库时一个错误:Error accessing PRODUCT_USER_PROFILE

    首先感谢前辈的文章:http://space.itpub.net/14184018/viewspace-691502 手动创建数据库完成后,创建新用户,并用新用户登陆到数据库时,报错如下: SYS@ ...

  4. Struts2环境搭建及实例解析

    与struts1框架的使用一样,struts2的环境搭建及使用同样分为以下几个步骤: 1.      引入jar包(这里以struts2.2.3为例),所需jar包有以下几个: a)        s ...

  5. jdbc操作数据库并自动获取字段类型

    //获取改功能编码的关联功能 public void getLinkdb(String gnbianma){ PreparedStatement pstmt = null; ResultSet rs ...

  6. Delphi获取默认打印机名称及端口

    Delphi获取默认打印机名称及端口 在前段时间写的收银系统中由于目前市场上很多电脑主板上已经没有并口,而POS机却又需要并口,所以目前需要用PCI转接卡,这个就导致不同门店使用的端口就有可能不同,这 ...

  7. linux性能分析工具集(图示)

  8. JSP中利用JSTL标签对日期格式化

    数据库:Mysql 开发语言:JAVA 页面类型:JSP 对Mysql中的日期类型格式化,在JSP中,如何办呢,很多人说在JAVA后台去日期格式化,无奈了,于是找到了比较靠谱的答案 需要先引入JSTL ...

  9. 【Python】torrentParser1.02

    #------------------------------------------------------------------------------------ # torrentParse ...

  10. 【nodejs】理想论坛帖子下载爬虫1.07 使用request模块后稳定多了

    在1.06版本时,访问网页采用的时http.request,但调用次数多以后就问题来了. 寻找别的方案时看到了https://cnodejs.org/topic/53142ef833dbcb076d0 ...