DZLabel
简介
- 基于 UITextView。
- UILabel 的替代品,但功能更强大。
- 支持
提及
、链接
、电话号码
、地址
、表情(图片)
- 支持自定义
正则表达式
链接 - 支持设置链接颜色
- 支持检测
链接单次点击
、整段文本单次点击
、链接长按
- 支持自动计算 table view cell 的高度(自动布局)
使用
1. 基本设置
var label = DZLabel()
label.dzFont = UIFont.systemFont(ofSize: 14)
label.dzTextColor = UIColor.blue
label.dzLinkColor = UIColor.red
label.dzText = "test" // do not use .attributedText or .text
2. 启用链接类型
label.dzEnabledTypes = [
.address,
.phone,
.mention,
.url,
.emoticon(pattern: nil, // By default: "[EmoticonName]"
bounds: CGRect(x: 0, y: -2, width: 10, height: 10), // Position and Size
imageNameBlock: ({ name in // Text -> Local Image Name
var imageName = name
if imageName.hasPrefix("[") { imageName.removeFirst() }
if imageName.hasSuffix("]") { imageName.removeLast() }
return imageName})),
.regex(pattern: "AM|PM"),
]
3. 处理回调
label.dzHandleMentionTap { result in
print("mention tapped" + result)
}
label.dzHandleURLTap { result in
print("url tapped" + result)
}
label.dzHandlePhoneTap { result in
print("phone tapped" + result)
}
label.dzHandleAddressTap { result in
print("address tapped" + result)
}
label.dzHandleKeywordLongPress {
print("keyword long pressed")
}
label.dzHandleRegexKeywordTap { result in
print("custom regex tapped" + result)
}
示例
要运行示例项目,请先克隆仓库,然后从示例目录运行 pod install
。
要求
- iOS 8+
- Swift 4
安装
可以通过 CocoaPods 使用 DZLabel。要安装它,只需将下列行添加到 Podfile 中
pod 'DZLabel'
作者
许可
DZLabel 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。