0

UIWebView でテキストを強調表示すると、通常、コピー、貼り付け、定義などが表示されます。これを傍受して、コピーを選択したときに他のメソッドを呼び出す/他のことを行うにはどうすればよいですか。これは可能ですか?

テキストが webview で強調表示されると、ポップオーバーのコピー/貼り付け/その他が表示されます。このポップオーバーを他のボタンでカスタマイズしたり、代わりに独自のカスタム ビューを使用したりする方法はありますか? 文字色の変更やハイライトなどのオプションを追加したい

4

1 に答える 1

3

カスタム ボタン/アクションを に追加するには[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:こちらのドキュメントを確認してください。お役に立てれば。

于 2013-08-16T20:26:46.300 に答える