【发布时间】:2015-06-16 03:40:17
【问题描述】:
我有一个 TTTAttributedLabel 并为它指定了一个自定义属性截断标记:
NSAttributedString *atributedTruncationToken = [[[NSAttributedString alloc]
initWithString:@" More..."
attributes:@{
NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : self.messageLabel.font,
NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType // no effect
}] autorelease];
[self.messageLabel setAttributedTruncationToken:atributedTruncationToken];
它看起来很完美,但我怎样才能使令牌可点击?
(特别是,当用户点击令牌时,我需要标签展开,而不是标签的其余部分)。
更新。 正如我所发现的,可以(iOS 7+)添加指向令牌的链接,如下所示:
NSAttributedString *atributedTruncationToken = [[[NSAttributedString alloc]
initWithString:@" More..."
attributes:@{
NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : self.messageLabel.font,
NSLinkAttributeName : [NSURL URLWithString:@"..."]
}] autorelease];
但是 TTTAttributed 标签中存在一种错误 (?),即标记仍然无法点击,但标签文本的最后 n (n = token length) 个字符可以!
【问题讨论】:
-
我也面临同样的问题。截断的文本不可点击,而是点击了最后几个字符。你解决了这个问题吗,如果是,请告诉我。
-
不,我什至没有尝试。我刚刚使用 CoreText、UIButton 和委托实现了我自己的笨拙标签。如果可能,请使用更新版本的 TTTAttributedLabel。
-
在较新的版本中我也面临同样的问题。有时如果截断的标记位于结束表行中,则它是可点击的。但如果出现在行之间,则它不起作用跨度>
标签: ios uilabel tttattributedlabel