UILabel中是否有像AppStore中应用描述一样的“更多”按钮?

4
我有一个关于myObject的描述,并将其显示在UILabel中。如果描述过长,我想在我的UILabel上添加“更多”按钮。在Github上,我找到了TTTAttributedLabel,它允许使用超链接。问题是,UILabelUITextView中是否有特殊功能来解决我的问题,还是我必须使用TTTAttributedLabel
3个回答

5

5
最好的选择当然是使用TTTAttributedLabelUILabelUITextView仅设计用于显示静态文本。它们没有添加可点击元素的方法。
作为替代方案,在我了解到TTTAttributedLabel之前,我只是在我的UILabel上放置了一个具有自定义样式的UIButton。按钮是不可见的,但仍然会响应点击。这对于静态文本效果最佳,因为需要正确地将按钮放置在界面上,以覆盖文本的正确部分。

嗨c.cam108,我使用了TTTAttributedLabel,当我设置[label setTruncationTokenString:@"... MORE"];时,它没有显示在标签上。问题可能是什么? - BhavikKama
@BhavikKama,你能否成功获取字符串的更多内容?我正在努力尝试,你能帮帮我吗? - Rushi
抱歉,我从未以那种方式使用过TTTAttribtedLabel - 我会手动截断字符串并创建带有超链接的“MORE”文本,然后可以手动更改显示的文本。 - colincameron

1
你可以尝试使用用Swift编写的第三方库ExpandableLable
将你的UILabel设置为ExpandableLabel的自定义类,并设置所需的行数和折叠文本:
expandableLabel.numberOfLines = 5
expandableLabel.collapsedAttributedLink = NSAttributedString(string: "more")
expandableLabel.ellipsis = NSAttributedString(string: "...")
// update label expand or collapse state
expandableLabel.collapsed = true

你可能需要设置一个“委托”来在链接被触摸时收到通知。

你对“see less”有什么想法吗?http://stackoverflow.com/questions/41853362/see-less-in-expandablelabel-ios - AMAN77

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接