次の JavaScript を使用して、選択UIMenucontroller
したテキストにハイライトを追加するために使用している「ハイライト」という名前のメニュー項目を追加しました。UIwebview
[webView stringByEvaluatingJavaScriptFromString:@"function load(){window.document.designMode = 'On';window.document.execCommand('backColor', false, 'Yellow');window.document.designMode = 'Off';} load();"];
しかし、のハイライトボタンをクリックするとUIMenuController
、選択したテキストが強調表示されますが、menuController
閉じられません(または、実際に1マイクロ秒閉じてから再び表示されます)。
ここで私は何を間違えましたか?
BOOL isYellow = [currentColor isEqualToString:@"rgb(255, 255, 0)"];
UIMenuItem *notesMenuItem = [[UIMenuItem alloc] initWithTitle:(isYellow) ? @"Delete Note" : @"Add Note" action:@selector(addNote)];
if (!isYellow) {
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:notesMenuItem,nil]]; }
else {
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:nil]];
}