Я разрабатываю приложение с настраиваемым подклассом WKWebView, и я пытаюсь отключить параметры по умолчанию, когда пользователь выбирает некоторый текст внутри веб-просмотра, и реализую мои собственные параметры. Однако кажется, что есть 4 варианта, которые нельзя удалить и они всегда будут отображаться: «Выбрать здесь», «Найти», «Узнать ...» и «Поделиться» ...
Предыдущий ответ утверждает это возможно, переопределив canPerformAction()
или изменив canPerformAction
в WKContentView, но я пробовал оба, и это не сработало. В частности, для четырех вариантов нет доступных селекторов UIResponder, хотя они появляются, когда я распечатываю список всех действий, входящих в canPerformAction
.
Другой ответ утверждал, что это могло быть можно отключить параметры по умолчанию, если canPerformAction()
возвращает false из First Responder
, за исключением того, что WKWebView отказывается стать первым респондентом, вызывая becomeFirstResponder
при выборе текста, и принудительно делает это, вызывая resign
в WKContentView, кажется, отключает взаимодействия с WebView в целом. Также попробовал swizzling canPerformAction
на дочернем WKContentView, но, похоже, это не имеет никакого значения.
Я могу только предположить, что параметры по умолчанию обрабатываются дальше по цепочке, но когда я разрываю цепочку, устанавливая следующий UIResponder на nil
, canPerformAction
больше не вызывается, и меню больше не отображается.
Я здесь в затруднении, как я могу просто показать индивидуальное меню при выборе текста?
Тестирование включено XCode 11.6 iOS 13,6