美文网首页iOS_UIkitiOS精英班
label:自动高亮的标签(##),提醒(@) 和URL

label:自动高亮的标签(##),提醒(@) 和URL

作者: coderYL | 来源:发表于2017-03-17 00:09 被阅读198次

YLLabel

UILabe 子类 -- 支持 Hashtags (##), Mentions (@) 和 URL written in Swift

使用效果

1.gif 使用效果.gif

Demo 代码

现在支持下面这些属性,会拓展其他的实用属性

let customType = YLLabelType.custom(pattern: "用于")
label.enabledTypes.append(customType)

label.text = "#YLLabel# 用于匹配字符串中的相关内容,地址: 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 行数:默认1
lineSpacing paragraphSpacing 行高:默认0
hashtagTapHandler ((String) -> ())? 标签(##) 点击事件
mentionTapHandler ((String) -> ())? 提醒(@) 点击事件
URLTapHandler ((String) -> ())? URL 点击事件
customColor [YLLabelType : UIColor] 根据类型,定义的颜色
customHandler [YLLabelType : ((String) -> ())] 根据类型,定义的点击事件

即将登场

自定义类型
选中状态颜色
URL带下划线

https://github.com/CoderYLZhang/YLLabel

感谢您的使用,欢迎 提供宝贵意见

欢迎 star issue fork

相关文章

  • label:自动高亮的标签(##),提醒(@) 和URL

    YLLabel UILabe 子类 -- 支持 Hashtags (##), Mentions (@) 和 URL...

  • Label 自动检测URL、@ 、#

    Label自动检测URL、@ 、#高亮显示点击URL跳转 代码下载地址:http://code.cocoachin...

  • iOS 一个灰常牛逼的Label

    一个灰常牛逼的label可响应部分文字的点击事件,常用于聊天微博等页面。类似微博的自动高亮label,包括url、...

  • Swift + 正则表达式

    最近心血来潮想挑战一下,做个类似微博可以自动匹配# #话题和@ 提醒的label 整体思路为1.显示高亮主要是正则...

  • H5表单标签label和下拉表单

    一、label标签 label标签用于绑定一个表单元素,当点击label标签内的文本时,浏览器会自动将焦点(光标)...

  • 零碎知识点

    用Label标签把input标签包裹起来的好处是:当鼠标点击label标签域时,鼠标自动聚焦到input,省去了f...

  • label和input绑定

    label标签包裹input标签,点击label时,label两次响应,即label本身触发和input触发后冒泡...

  • HTML+CSS

    Label的作用是什么?是怎么用的 答案: label标签来定义表单控制间的关系当用户选择该标签时,浏览器会自动将...

  • 小程序 video

    相同url播放 相同url处于相邻位置时,video标签会默认作为一个标签处理。(以下针对相同url的情况)自动播...

  • python gui - 003 tkinter label 调

    label 是标签控件;可以显示文本和位图 Lable 标签 Label=Tkinter.Lable(maste...

网友评论

本文标题:label:自动高亮的标签(##),提醒(@) 和URL

本文链接:https://www.haomeiwen.com/subject/cspsnttx.html