我正在使用第三方库可扩展标签 https://github.com/apploft/ExpandableLabel实施一个see more特征。我正在寻找仅快速的解决方案,其中包含标签中的文本而不是按钮中的文本,因此这可以完美地工作。添加库并更改 IB 中的标签类型后,我只需要几行代码:
@IBOutlet weak var myLabel: ExpandableLabel!
myLabel = 3
myLabel = true
然而,我不知道在完全扩展后如何实现“少看”。我添加了委托方法:
ExpandableLabelDelegate
和功能:
// MARK: ExpandableLabel 委托
func willExpandLabel(_ label: ExpandableLabel) {
}
func didExpandLabel(_ label: ExpandableLabel) {
}
func willCollapseLabel(_ label: ExpandableLabel) {
}
func didCollapseLabel(_ label: ExpandableLabel) {
}
func shouldCollapseLabel(_ label: ExpandableLabel) -> Bool {
return true
}
试图获得对过程的控制,但仍然很挣扎。还有其他人设法做到这一点吗?如果是的话,请你能帮我一下吗...
根据我的个人经验,我注意到expandedAttributedLink
仅当您将其设置在实际标签文本之前时才有效。
infoLabel.setLessLinkWith(lessLink: "less", attributes: [NSFontAttributeName: boldItalicFont], position: nil)
infoLabel.text = viewModel.description
infoLabel.collapsedAttributedLink = NSAttributedString(string: "more", attributes: [NSFontAttributeName: boldItalicFont]);
infoLabel.ellipsis = NSAttributedString(string: "...")
infoLabel.collapsed = true
我能够通过查看设置器来识别这种行为text
里面的财产源文件 https://github.com/apploft/ExpandableLabel/blob/master/Classes/ExpandableLabel.swift.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)