FWIW, wygląda moja szczególności timeout wystąpił z powodu błędu javascript w rzadkich sytuacjach. Możesz spróbować owinąć swój JS w try/catch lub poprawić go, aby był bardziej odporny na błędy.
Więcej szczegółów: używałem następujący JS ciąg:
NSString* js = @"document.getElementById(\"main\").offsetHeight";
int height = [[_web_view stringByEvaluatingJavaScriptFromString:js] intValue];
Wiedziałem, że ten problem UIWebView może się zdarzyć, jeśli widok internetowa nie była w pełni załadowany (np JS wezwany przed webViewDidFinishLoad.: metoda, więc domyśliłem się, że być może „głównym” celem brakowało zatem, że zmodyfikowane moje JS na następujące i to działało..
NSString* js = @"document.getElementById(\"main\") ? document.getElementById(\"main\").offsetHeight : -1";
im pracy na aplikacji Twitter. Widok internetowy ładuje stronę logowania do Twittera. Po wprowadzeniu moich danych uwierzytelniających i kliknięciu "Autoryzuj aplikację" mój kontroler widoku modalnego odrzucił, ale przyciski w widoku w tle zostały zatrzymane. –
Czy możesz umieścić dowolny kod, aby uzyskać lepszy wgląd w sposób implementacji? Na przykład, czy ręcznie włączasz/wyłącza przyciski w widoku tła, a jeśli tak, to czy używasz metod delegatów webView do zarządzania tym? –
Rozwiązałem problem. Był widok tła, który nie został usunięty po zwolnieniu kontrolera widoku modalnego. W każdym razie dzięki mikrokolumnie za odpowiedź. –