Ответ 1
Просто отключите и снова включите взаимодействие с пользователем:
myWebView.userInteractionEnabled = NO;
myWebView.userInteractionEnabled = YES;
У меня есть несколько пользовательских UIMenuItems
, которые делают вещи с выбором в UIWebView
. После того, как действие было выполнено в этом выборе, я хочу скрыть дескрипторы выделения так же, как copy:
.
Я пробовал использовать window.getSelection().removeAllRanges();
, и это работает в том, что window.getSelection()
больше не возвращает ничего, кроме того, что дескрипторы выбора текста остаются видимыми.
Есть ли способ удалить выделение и ручки с ним?
Изменить: Мне не нужно это решение JS, но я не могу потерять состояние, перезагрузив веб-просмотр.
Просто отключите и снова включите взаимодействие с пользователем:
myWebView.userInteractionEnabled = NO;
myWebView.userInteractionEnabled = YES;
вы можете просто обновить веб-просмотр, если ваши данные являются только текстом, тогда ни одно тело не может отслеживать, что веб-просмотр обновляется.
используйте этот код
[webview reload];
Я сделал это в своих приложениях и отлично работал над ним
[_webview becomeFirstResponder];
После вашего действия.
Вам просто нужно это. Я всегда использую этот способ.