4

属性 NSLinkAttribute に似た何かを行う方法はありますが、URL を開く代わりに、iOS でアクションをトリガーしたいですか?

[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
4

1 に答える 1

4

解決策を見つけました。

UITextViewDelegate には、次のメソッドがあります。

textView:shouldInteractWithURL:inRange:

NO を返すと、リンクのクリックとロングクリックをインターセプトできます。

- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
    [self MAKE_YOUR_ACTION];
    return NO;
}

iOS7のみで動作します。古いバージョンで私が見つけた唯一の解決策は、質問のコメントで@Anc Ainuによって提案されたものでした。

于 2014-02-13T13:08:59.393 に答える