Я нахожу, что в моем приложении в iOS 9, когда я долгое время нажимаю в UIWebView, обычно появляется меню редактирования, которое появляется только в течение второго (и следующего) времени, которое я долгое время нажимаю. В первый раз, когда я долгое время нажимаю в любом конкретном веб-обзоре, меню вообще не отображается, хотя появляются дескрипторы выделения. Во второй раз, когда я долгое время нажимаю на любой частичный веб-просмотр, он ведет себя так, как ожидалось.
Еще один странный симптом заключается в том, что иногда (но не каждый раз), когда появляется меню, что-то быстро оживляет скольжение по направлению к левому краю экрана, происходящее из меню, но слишком быстро, чтобы понять, что это такое. Это происходит даже тогда, когда появляется меню редактирования. Я ожидаю, что это связано с проблемой.
Я тестировал только в симуляторе, потому что я еще не установил iOS 9 на устройстве.
В iOS 8 меню работает так, как ожидалось.
Другой разработчик дал мне работу, которая может работать, когда на экране есть только один файл UIWebVeiw. Поместите это в viewDidAppear (спасибо Chen Xian'an):
[[myWebView.scrollView.subviews firstObject] becomeFirstResponder];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self becomeFirstResponder];
}];
Однако, поскольку у меня есть несколько webView, это не идеальное решение для меня. И если я применяю его к каждому веб-просмотру, он работает только с последним, к которому я его применил.
Кажется, это ошибка, и, надеюсь, Apple скоро исправит ее, тем не менее у кого-нибудь есть какие-то яркие идеи о том, как я могу сделать эту работу более чем для одного webView?