Swift|Swift TTTAttributedLabel 的简单使用

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

Swift|Swift TTTAttributedLabel 的简单使用
文章图片
QQ20170608-152002@2x.png
我使用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()) })

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

    推荐阅读