4

我有 myObject 的描述,并在 UILabel 中显示。UILabel如果描述太长,我想添加“更多”按钮 。在 Github 上,我找到了允许使用超链接的TTTAttributedLabel 。问题是,是否有一些特殊功能UILabel可以UITextView解决我的问题或我必须使用TTTAttributedLabel

4

3 回答 3

5

TTTAtributtedLabel末尾添加“更多”文本非常容易。

你有truncationTokenStringtruncationTokenStringAttributes。超级简单!

例子:

[label setTruncationTokenString:@"... MORE"];

https://github.com/mattt/TTTAttributedLabel

文档:http ://cocoadocs.org/docsets/TTTAttributedLabel/1.8.0/Classes/TTTAttributedLabel.html#//api/name/truncationTokenString

就我而言,我不再需要任何东西,因为我只是更改了numberOfLines选择单元格以使其生长的时间。

于 2014-01-30T00:45:48.250 回答
5

最好的选择当然是使用TTTAttributedLabel.

UILabel并且UITextView仅用于显示静态文本。没有添加可点击元素的方法。

作为替代方案,在我倾斜之前,TTTAttributedLabel我只是UIButton在我的UILabel. 该按钮是不可见的,但仍会响应轻按。这对静态文本最有效,因为按钮需要正确放置在界面上以覆盖文本的正确部分。

于 2013-06-13T10:17:51.890 回答
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

如果链接已被触摸,您可能需要设置 adelegate以获得通知。

于 2016-10-26T09:07:05.523 回答