nar*_*rco 12 objective-c uiwebview uimenucontroller ios9
我发现在iOS 9中的应用程序中,当我长时间按下UIWebView时,通常出现的编辑菜单只出现在我长按的第二个(和以下)时间.我第一次在任何特定的webview中长按没有菜单的所有节目,尽管选择句柄确实出现了.我第二次长时间按下任何一个webview,它的行为与预期一致.
另一个奇怪的症状是偶尔(但不是每次)当菜单出现时,某些东西会快速动画向屏幕左侧滑动,从菜单开始,但它太快,看不到它是什么.即使编辑菜单出现,它也会发生.我希望这与这个问题有关.
我只在模拟器中测试过,因为我还没有在设备上安装iOS 9.
在iOS 8中,相同的菜单按预期工作.
另一位开发人员给了我一个解决方法,当你在屏幕上只有一个UIWebVeiw时可能会有效.把它放在viewDidAppear中(感谢陈先安):
[[myWebView.scrollView.subviews firstObject] becomeFirstResponder];
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self becomeFirstResponder];
}];
Run Code Online (Sandbox Code Playgroud)
但是,由于我有多个webView,它对我来说不是一个理想的解决方案.如果我将它应用于每个webview,它只适用于我应用它的最后一个.
这似乎是一个错误,希望Apple很快就能解决它,与此同时,有没有人有任何明智的想法,我怎么能让这个工作为多个webView?
小智 16
我试过这种方式,我成功了.首先您必须自定义UIWebView并编写
- (BOOL)canBecomeFirstResponder {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
第二,在处理长按之前,您必须调用此方法
[yourWebView becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
我希望它会有所帮助..
归档时间: |
|
查看次数: |
1957 次 |
最近记录: |