DZLabel 1.3.12

DZLabel 1.3.12

Darren Zheng 维护。



DZLabel 1.3.12

  • 作者:
  • Darren Zheng

DZLabel

Version License Platform

简介

  • 基于 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'

作者

张达,[email protected]

许可

DZLabel 在 MIT 许可下可用。更多信息请参阅 LICENSE 文件。