gpt4 book ai didi

ios - 如何将TTTAttributedLabel与'@'和'#'一起使用?

转载 作者:行者123 更新时间:2023-12-01 18:55:00 24 4
gpt4 key购买 nike

每当文本'@'符号出现在Twitter中时,我都需要使用TTTAttributeLabel单击该部分。例如:“hi @test hello text”。
只有@test部分可点击。我在uitableview单元格中使用的TTTAttributeLabel类,以便当用户按下标签的其他部分时,表didSelectedRowAtIndexPath方法调用意味着不要单击'@test'。

提前致谢。

最佳答案

您可以使用this question中的代码示例(请参见highlightMentionsInString:函数)

然后将此代码添加到您的tableView:cellForRowAtIndexPath:中:

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
MyCell *cell;
// configure your cell
// ...
cell.attributedLabel.delegate = self;
cell.attributedLabel.userInteractionEnabled = YES;
cell.attributedLabel.text = someText;
[self highlightMentionsInLabel:cell.attributedLabel]
return cell;
}

- (void)highlightMentionsInLabel:(TTTAttributedLabel *)attributedLabel {
NSString *text = attributedLabel.text;
NSRegularExpression *mentionExpression = [NSRegularExpression regularExpressionWithPattern:@"(?:^|\\s)(@\\w+)" options:NO error:nil];
// and so on, use code from question I linked above
// ...
}
...

# pragma mark - TTTAttributedLabelDelegate

- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
// your code here to handle `user:username` links
}

如果您希望在录制用户/标签时具有不同的行为,则需要为#hashtags实现单独的 highlightTagsInLabel:方法,使用不同的regexp和不同的url(例如 tag:tag_string),并在 highlightMentionsInLabel:之后调用

关于ios - 如何将TTTAttributedLabel与'@'和'#'一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28063919/

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