2013-01-08 13 views
9

Moja aplikacja jest zasilana przez pełny ekran UIWebView. Działa dobrze, z wyjątkiem sytuacji, gdy klawiatura jest podniesiona, widok jest przesunięty o około 10 pikseli, pozostawiając białą przerwę (patrz zrzut ekranu poniżej).Przesuwanie klawiatury powoduje, że interfejs UIWebView przesuwa się w lewo

Czy ktoś wie, co to powoduje i czy istnieją jakieś rozwiązania lub praca wokół?

AKTUALIZACJA: Aby być bardziej szczegółowym, UIWebView nie przesuwa się, zawartość HTML przesuwa się.

enter image description here

+0

Zauważyłem również, że przestrzeń pojawi gdybym DoubleTap ekran. – joe

+0

Czy przeniesiono UIWebView lub jego zawartość? Czy powinieneś jakiś kod do tworzenia UIWebView i dodać go do ekranu? –

+0

pojawia się również po podwójnym dotknięciu? to ma coś wspólnego z powiększaniem. Klawiatura również ma takie zachowanie: gdy koncentrujesz się na polu tekstowym, strona internetowa zostaje powiększona, aby pokazać odpowiednią rozdzielczość. Poszukaj kodu, aby wyłączyć powiększanie strony. na przykład. 'scalesPageToFit' –

Odpowiedz

8

Można spróbować wyłączyć zoom dla WebView:

webview.scrollView.delegate = self; 

-(UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView { 
return nil; 
} 
+0

Wiele odpowiedzi na to pytanie mówi o resetowaniu granic przewijania po wyświetleniu klawiatury. To brzydkie i powoduje dziwne odbicie w aplikacji. To rozwiązanie jest najlepszym sposobem, aby widok WWW nie zmieniał się w pierwszej kolejności. –

Powiązane problemy