实现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. 什么是BFC(Block Formatting Context)

    原文:https://segmentfault.com/a/1190000012221820 https://www.w3.org/TR/CSS2/visuren.html#block-formatt ...

  2. CSS中的图片路径问题

      CSS中的背景图片写了相对路径,为什么不显示那?   [解决方法] CSS中的背景图片路径应该写成相对于当前CSS文件的路径,而不是针对网站根目录的相对路径.

  3. 【Android开发VR实战】二.播放360&#176;全景视频

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...

  4. pycharm+python+Django之web开发环境的搭建(windows)

    转载:https://blog.csdn.net/yjx2323999451/article/details/53200243/ pycharm+python+Django之web开发环境的搭建(wi ...

  5. 微服务架构实践 - 你只懂docker与spring boot就够了吗?

    微服务架构实践 - 你只懂docker与spring boot就够了吗? 作者 浮云发发 已关注 2017.02.27 02:50* 字数 2613 阅读 2583评论 6喜欢 35赞赏 2 微服务并 ...

  6. javascript的冒泡排序, 快速排序, 选择排序, 插入排序

    冒泡排序, 最经典的排序, 把比较大的数字往后放, 和选择排序恰恰相反: <!DOCTYPE html> <html lang="en"> <head ...

  7. archivedDataWithRootObject NSUserDefaults

    archivedDataWithRootObject 存储 BusinessCard *bc = [[BusinessCard alloc] init];   NSUserDefaults *ud = ...

  8. js检测来源网址,如果是搜索引擎跳转到新地址

    [js]代码 <script> var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|118114|biso|gougou|if ...

  9. 关于Selenium Chrome Driver相关的一些资源

    这里摘录一些处理所需要的jar包,以及对照关系等. 参考: selenium-chrome-driver-2.22.0.jar:http://www.java2s.com/Code/Jar/s/Dow ...

  10. mysql数据库配置优化(占cpu过高问题)

    MySQL5.6的my.ini配置 提供一个MySQL 5.6版本适合在1GB内存VPS上的my.cnf配置文件(点击这里下载文件): [client] port = 3306 socket = /t ...