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