向 NSAttributedString 添加常规操作?

Add a regular action to an NSAttributedString?

我只是想添加一个 objetive-c 操作,使用 NSAttributedString 在我的 UILabel 中点击某个范围时调用。

但我不知道该怎么做。我不想打开一个URL,我只想调用一个方法

谢谢

您可以使用 NSLinkAttributeName 本身来实现此目的。使用如下所示的属性字符串并将其设置为 UITextView 的文本。

 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWithString:termsString];
        [attributedString addAttribute:NSLinkAttributeName value:url range:range];
[myTextView setAttributedText:attributedString];

然后覆盖 UITextView 委托方法:

-(BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange{

// Call your method here.
return YES;
}

不要忘记设置 textView 的委托!

此外,您可以在其上制作一个简单的透明 UITouch 类控件。 这意味着你需要伪造它。