将常规操作添加到NSAttributedString?

我只是想添加一个objetive-c动作来调用我的UILabel使用NSAttributedString在一定范围内的一个水龙头。

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

谢谢

你可以使用NSLinkAttributeName来实现这一点。 使用如下所示的属性string并将其设置为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控件。 这意味着你需要伪造它。