Swift TTTAttributedLabel 的简单使用

最近在看Swift,之前在OC用到过TTTAttributedLabel 感觉还不错,就想试一下用Swift实现一下。这里实现一个简单的功能,直接上图。。



我使用pod 导的 TTTAttributedLabel 这比较方便。
首先先懒加载初始化一个Label

//懒加载初始化 TTTAttributedLabel
    lazy var tttAttributedLabel: TTTAttributedLabel = {
        var tttAttributedLabel = TTTAttributedLabel.init(frame: CGRect.init(x: 0, y: 100, width: UIScreen.main.bounds.size.width, height: 50))
        tttAttributedLabel.numberOfLines = 0
        //这里是给fromname 设置字体颜色 还可以设置字体大小等。
        tttAttributedLabel.linkAttributes = [NSForegroundColorAttributeName: UIColor.red]
//        tttAttributedLabel.linkAttributes = [NSFontAttributeName: UIFont.systemFont(ofSize: 15)]
        return tttAttributedLabel
    }()

这里写两个假数据

let content = NSString.init(string: "小张:你好,你好,你好,你好!")
let fromname = NSString.init(string: "小张")

然后 可以设置Lable的属性 字体大小 颜色等

//这里可以更改Label 的属性  字体大小字体颜色等
     let attr = [
          NSFontAttributeName: UIFont.systemFont(ofSize: 20),
          NSForegroundColorAttributeName: UIColor.black
      ]
      //这里两个参数 第一个参数 是label全部的内容。
      //           第二个参数是 上面的属性
      let contentAttributedString = NSAttributedString.init(string: content as String, attributes: attr)

然后就是赋值了

//给lable赋值 用  attributedText
 tttAttributedLabel.attributedText = contentAttributedString

接下来设置红色字体部分

//这里是添加 哪一部分 是其他颜色  这个就是那个fromname
 //主要有三个参数 第一个参数是红色字体的内容
 //第二个参数是从哪开始
 //第三个参数是 红色的长度
  let fromLink = tttAttributedLabel .addLink(toPhoneNumber: fromname as String!, with: NSRange.init(location: 0, length: fromname.length+1))

然后设置红色部分的点击事件

//这里是给fromname 添加点击事件
  fromLink?.linkTapBlock = TTTAttributedLabelLinkBlock!.init({ (TTTAttributedLabel, TTTAttributedLabelLink) in
       print(TTTAttributedLabel?.text! ?? String())
   })

到这里就差不多结束了,付一个小demo的链接
http://git.oschina.net/Allen__yao/swift_tttattributedlabeldemo
刚开始研究Swift 还请大神们多多指教。。

你可能感兴趣的:(Swift TTTAttributedLabel 的简单使用)