UILabel中的更多button就像AppStore中的任何应用程序描述一样

我有一个myObject的描述,我显示在UILabel中。 如果描述太长,我想添加“更多”button到我的UILabel 。 在Github上,我发现TTTAttributedLabel允许使用超链接。 问题是, UILabelUITextView有一些特殊的function来解决我的问题,或者我必须使用TTTAttributedLabel

最好的select当然是使用TTTAttributedLabel

UILabelUITextView只是为了显示静态文本而devise的。 没有添加可点击元素的方法。

作为替代scheme,在我倾斜TTTAttributedLabel之前,我简单地在UILabel放置了一个具有自定义样式的UIButton 。 该button是不可见的,但仍然响应水龙头。 这对静态文本效果最好,因为button需要正确放置在界面上才能覆盖文本的正确部分。

使用TTTAtributtedLabel很容易在最后添加“更多”文本。

你有truncationTokenStringtruncationTokenStringAttributes 。 超级简单!

例:

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

https://github.com/mattt/TTTAttributedLabel

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

在我的情况下,我不需要更多的东西,因为我只是在select单元格的时候改变了numberOfLines ,使它成长。

你可以试试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 

您可能需要设置一个delegate ,以便在链接被触摸的情况下得到通知。