gpt4 book ai didi

ios - TTTAttributedLabel 可点击截断 token

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:06 27 4
gpt4 key购买 nike

我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记:

NSAttributedString *atributedTruncationToken = [[[NSAttributedString alloc]
initWithString:@" More..."
attributes:@{
NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : self.messageLabel.font,
NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType // no effect
}] autorelease];

[self.messageLabel setAttributedTruncationToken:atributedTruncationToken];

它看起来很完美,但我怎样才能使 token 可点击?

(特别是,我需要在用户点击 token 时展开标签,而不是标签的其余部分)。

更新。正如我发现的那样,可以(iOS 7+)向 token 添加链接,如下所示:

NSAttributedString *atributedTruncationToken = [[[NSAttributedString alloc]
initWithString:@" More..."
attributes:@{
NSForegroundColorAttributeName : [UIColor lightGrayColor],
NSFontAttributeName : self.messageLabel.font,
NSLinkAttributeName : [NSURL URLWithString:@"..."]
}] autorelease];

但在 TTTAttributed 标签中有一个错误(?), token 仍然无法点击,但标签文本的 n (n = token length) 个字符可以点击!

最佳答案

ResponsiveLabel , UILabel 的子类可用于配置可点击截断标记。

NSString *expansionToken = @"Read More ...";
NSString *str = @"Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
NSMutableAttributedString *attribString = [[NSMutableAttributedString alloc]initWithString:kExpansionToken attributes:@{NSForegroundColorAttributeName:[UIColor blueColor],NSFontAttributeName:self.customLabel.font}];
[self.customLabel setAttributedTruncationToken:attribString withAction:^(NSString *tappedString) {
NSLog(@"Tap on truncation text");
}];
[self.customLabel setText:str withTruncation:YES];

关于ios - TTTAttributedLabel 可点击截断 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com