UIWebView でテキストを強調表示すると、通常、コピー、貼り付け、定義などが表示されます。これを傍受して、コピーを選択したときに他のメソッドを呼び出す/他のことを行うにはどうすればよいですか。これは可能ですか?
テキストが webview で強調表示されると、ポップオーバーのコピー/貼り付け/その他が表示されます。このポップオーバーを他のボタンでカスタマイズしたり、代わりに独自のカスタム ビューを使用したりする方法はありますか? 文字色の変更やハイライトなどのオプションを追加したい
UIWebView でテキストを強調表示すると、通常、コピー、貼り付け、定義などが表示されます。これを傍受して、コピーを選択したときに他のメソッドを呼び出す/他のことを行うにはどうすればよいですか。これは可能ですか?
テキストが webview で強調表示されると、ポップオーバーのコピー/貼り付け/その他が表示されます。このポップオーバーを他のボタンでカスタマイズしたり、代わりに独自のカスタム ビューを使用したりする方法はありますか? 文字色の変更やハイライトなどのオプションを追加したい
カスタム ボタン/アクションを に追加するには[UIMenuController sharedMenuController]
:
UIMenuItem * highlight = [[UIMenuItem alloc] initWithTitle:@"Highlight" action:@selector(didTapCreateHighlight:)];
[menuItems addObject:highlight];
[UIMenuController sharedMenuController].menuItems = menuItems;
次のように、アクティブな ( に表示される) 項目を選択できますUIMenuController
(これはハイライト ボタンのみを表示します) (頭のてっぺんから書いたもので、タイプミスが含まれている可能性があります)。
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
NSLog(@"action: %@", NSStringFromSelector(action));
if (action == @selector(didTapCreateHighlight:)) {
return YES;
} else {
return NO;
}
}
それが可能かどうか、またはシステムメソッドをオーバーライドする方法がわかりません。のようなメソッドをオーバーライドするのと同じくらい簡単かもしれませんcopy:
。こちらのドキュメントを確認してください。お役に立てれば。