属性 NSLinkAttribute に似た何かを行う方法はありますが、URL を開く代わりに、iOS でアクションをトリガーしたいですか?
[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
属性 NSLinkAttribute に似た何かを行う方法はありますが、URL を開く代わりに、iOS でアクションをトリガーしたいですか?
[attributedString addAttribute:NSLinkAttributeName value:@"http://www.google.com" range:range];
解決策を見つけました。
UITextViewDelegate には、次のメソッドがあります。
textView:shouldInteractWithURL:inRange:
NO を返すと、リンクのクリックとロングクリックをインターセプトできます。
- (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
{
[self MAKE_YOUR_ACTION];
return NO;
}
iOS7のみで動作します。古いバージョンで私が見つけた唯一の解決策は、質問のコメントで@Anc Ainuによって提案されたものでした。