2013-05-08 3 views
0

Мое приложение, в очень редких случаях, зависает, когда я выбираю текст в UIWebView. Вот как это происходит:UIWebView зависает, когда текст выбран

  1. Нажмите и удерживайте для выбора текста
  2. текста получает выбранный
  3. Целого замерзает приложение, негибкой на ощупь, но я все еще могу видеть operatings работаю
  4. Может заморозить около 10 секунд. После этого появляется UIMenuController. Если я пытаюсь прокручивать, пока он замерзает, прокрутка происходит после того, как приложение снова реагирует.
  5. Если текст по-прежнему выбран, он снова зависает, если я прокручиваю. Случается снова и снова
  6. Если мне удалось прокрутить выбранный текст из поля зрения, прокрутке остальной WebView прекрасно, пока я не прокручивать выделенный текст обратно
  7. Если я выйти из UIViewController, содержащего UIWebView, Я могу подтвердить, что они оба освобождены. Вернитесь в новый UIViewController с UIWebView, и это произойдет снова.
  8. Это происходит с новыми экземплярами UIWebView и даже когда я закрываю и возобновляю приложение. Только останавливается, если я принудительно перезапускаю приложение.

У кого-нибудь есть ключ, как я могу отладить это? Я никогда не видел этого в симуляторе. Это происходит очень редко на устройстве.

+0

Можете ли вы заставить его произойти при профилировании приложения с помощью «Инструменты»? Можете помочь вам увидеть, что происходит. – iwasrobbed

+0

Вы пробовали выйти из всех других приложений во время запуска приложения? – sangony

ответ

0

Я подозреваю, что вы либо неправильно настроили иерархию своего представления, либо внесли изменения в поток, а не в основной поток. Поэтому расскажите нам, где находится UIWebView (супер-представления), и хорошо разбирайтесь в коде, который модифицирует массивы sub view.

Например, вы не добавить веб-просмотра на подразделы просмотров канала UINavigationController напрямую, но его вид контроллеры массива и т.д.

Все остальное не создать демонстрационный проект, который также отображает проблему и загрузить его DropBox, где мы можем запустить его самостоятельно.

Смежные вопросы