ExpandableLabel
ExpandableLabel是一个简单的UIView后期子类,当内容不成规定的行数时,会显示一个可点击的链接。如果用户点击,该标签会展开以显示全部内容。
维护
该项目是被动维护的。欢迎提交拉取请求,只要它们不会破坏现有功能,将会被审查、合并并作为新的CocoaPod版本发布。但是我们没有足够的资源来积极参与开发、处理问题或提供集成支持。
安装
CocoaPods
将以下内容添加到您的Podfile中:
pod "ExpandableLabel"
Carthage
请将以下内容添加到您的Cartfile
github "apploft/ExpandableLabel"
运行 carthage
编译框架,并将生成的 ExpandableLabel.framework
拖入您的Xcode项目。
使用方法
使用ExpandableLabel非常简单。在Storyboard中,将您的UILabel的自定义类设置为ExpandableLabel,并设置所需的行数(折叠状态中的行数)
注意: 在Carthage中,将Module设置为ExpandableLabel
。
expandableLabel.numberOfLines = 3
除此之外,还可以修改以下设置
代理
设置代理以在链接被触摸时收到通知。
折叠
如果应该折叠标签,设置true,否则设置为false。
expandableLabel.collapsed = true
折叠富文本链接
设置在折叠时显示的链接名称(及其属性)。
expandableLabel.collapsedAttributedLink = NSAttributedString(string: "Read More")
展开富文本链接
设置在展开时显示的链接名称(及其属性)。这是可选的,也可以是 nil。
expandableLabel.expandedAttributedLink = NSAttributedString(string: "Read Less")
setLessLinkWith(lessLink: String, attributes: [String: AnyObject], position: NSTextAlignment?)
设置具有标题、字符串属性和可选水平对齐(NSTextAlignment)的展开式链接。如果position参数为nil,折叠链接将插入到文本末尾。
expandableLabel.setLessLinkWith(lessLink: "Close", attributes: [NSForegroundColorAttributeName:UIColor.red], position: nil)
省略符
设置出现在文字和链接之后的省略符。
expandableLabel.ellipsis = NSAttributedString(string: "...")
许可
ExpandableLabel可在MIT许可下使用。有关更多信息,请参阅LICENSE文件。