选择文本时,UIWebView会冻结

时间:2013-05-08 00:45:01

标签: ios objective-c uiwebview freeze uimenucontroller

我的应用程序,在非常罕见的情况下,当我在UIWebView中选择文本时冻结。以下是它的发生方式:

  1. 点按并按住以选择文字
  2. 文字被选中
  3. 整个应用程序冻结,对触摸没有反应,但我仍然可以看到正在运行的操作
  4. 可能会冻结大约10秒。之后出现UIMenuController。如果我尝试在冻结时滚动,则在应用再次响应后滚动发生
  5. 如果文本仍处于选中状态,则滚动时会再次冻结。一次又一次地发生
  6. 如果我设法将所选文本滚动到视图之外,滚动其余的webview就可以了,直到我滚动所选文本
  7. 如果我离开包含UIWebView的UIViewController,我可以确认它们都已取消分配。回到带有UIWebView的新UIViewController,它会再次发生。
  8. UIWebView的新实例会继续发生这种情况,即使我关闭并恢复应用程序也是如此。只有在我强制重启应用程序时才会停止。
  9. 有没有人知道如何调试这个?我在模拟器中从未见过这个。只在设备上很少发生。

1 个答案:

答案 0 :(得分:0)

我怀疑您要么设置了不正确的视图层次结构,要么在不是主线程的线程上修改了它。因此,请准确告诉我们UIWebView所在的位置(超级视图),并仔细查看修改子视图数组的代码。

例如,您不直接将Web视图添加到UINavigationController的子视图中,而是添加到其视图控制器数组等。

所有其他方法都失败了创建一个演示项目,该项目也会显示问题并将其上传到DropBox,我们可以自行运行它。