YLLabel
UILabe 子類 -- 支持 Hashtags (##), Mentions (@) 和 URL written in Swift
使用效果
Demo 代碼
現(xiàn)在支持下面這些屬性,會拓展其他的實用屬性
let customType = YLLabelType.custom(pattern: "用于")
label.enabledTypes.append(customType)
label.text = "#YLLabel# 用于匹配字符串中的相關(guān)內(nèi)容,地址: https://github.com/CoderYLZhang/YLLabel 作者@CoderYLZhang"
label.font = UIFont.systemFont(ofSize: CGFloat((fone.text! as NSString).doubleValue))
label.textAlignment = .left
label.lineSpacing = CGFloat((lineSpacing.text! as NSString).doubleValue)
label.numberOfLines = (numOfLine.text! as NSString).integerValue
label.textColor = UIColor(red: 102.0/255, green: 117.0/255, blue: 127.0/255, alpha: 1)
label.hashtagColor = UIColor(red: 85.0/255, green: 172.0/255, blue: 238.0/255, alpha: 1)
label.mentionColor = UIColor(red: 238.0/255, green: 85.0/255, blue: 96.0/255, alpha: 1)
label.URLColor = UIColor.blue
label.customColor[customType] = UIColor.red
// 標簽(##) 點擊事件
label.handleHashtagTap { (string) in
self.alert("標簽", message: string)
}
//label.hashtagTapHandler = {(string) in
// self.alert("標簽", message: string)
//}
// 提醒(@) 點擊事件
label.handleMentionTap { (string) in
self.alert("提醒", message: string)
}
//label.mentionTapHandler = {(string) in
// self.alert("提醒", message: string)
//}
// URL 點擊事件
label.handleURLTap { (string) in
self.alert("URL", message: string)
}
//label.URLTapHandler = {(string) in
// self.alert("URL", message: string)
//}
// 自定義 點擊事件
label.handleCustomTap(customType, handler: { (string) in
self.alert("customType", message: string)
})
屬性解釋
屬性 | 類型 | 作用 |
---|---|---|
enabledTypes | [YLLabelType] | 用戶可定義,需要高亮的類型 |
hashtagColor | UIColor | 標簽(##) 顯示的顏色 :默認 blue |
mentionColor | UIColor | 提醒(@) 顯示的顏色:默認 blue |
URLColor | UIColor | URL 顯示的顏色:默認 blue |
text | String | 需要顯示的文本 |
attributedText | NSAttributedString | 需要顯示的富文本 |
font | UIFont | 所有文本的字體 |
textColor | UIColor | 普通文本的顏色 |
textAlignment | NSTextAlignment | 對齊方式:默認左 |
numberOfLines | Int | 行數(shù):默認1 |
lineSpacing | paragraphSpacing | 行高:默認0 |
hashtagTapHandler | ((String) -> ())? | 標簽(##) 點擊事件 |
mentionTapHandler | ((String) -> ())? | 提醒(@) 點擊事件 |
URLTapHandler | ((String) -> ())? | URL 點擊事件 |
customColor | [YLLabelType : UIColor] | 根據(jù)類型,定義的顏色 |
customHandler | [YLLabelType : ((String) -> ())] | 根據(jù)類型,定義的點擊事件 |
即將登場
自定義類型
選中狀態(tài)顏色
URL帶下劃線
https://github.com/CoderYLZhang/YLLabel