2012-07-09 11 views
21

Mam UIWebView, który ładuję na inny widok, wszystko wygląda dobrze w pionie lub w krajobrazie podczas obracania się, jednak gdy jestem w portretie i powiększam lekko za pomocą szczypania lub podwójnego dotknięcia kiedy obracam się od portretu do pejzażu, widok dosnt całkowicie wypełnia widok uiwebview, po prawej stronie jest około 10 pikseli, które zmieniają kolor na czarny, jak pokazano na tym zrzucie ekranu.Czarny pasek pojawiający się w UIWebview po zmianie orientacji urządzenia

enter image description here

jeśli przyjrzeć się dokładnie widać zarys wskaźnika przewijania w kolorze czarnym, który segests ten jest częścią UIWebView ?? jeśli tak, to dlaczego dawka zmieniła kolor na czarny w tym obszarze.

także heres kolejny zrzut ekranu z WebView przewija się odrobinę, dzięki czemu można zobaczyć jego części UIWebView ...

enter image description here

ten sposób dodaję pogląd na widoku szczegółowym.

- (void)viewdidload 
//.. 

//Load in FirstView 
    firstView = [[FirstMainViewController alloc] init]; 
    firstView.view.frame = CGRectMake(0.0, 0.0, firstView.view.bounds.size.width, firstView.view.bounds.size.height); 

    firstView.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

    firstView.view.backgroundColor = [UIColor whiteColor]; 

    [self.view insertSubview:firstView.view belowSubview:actionTabBar]; 

//.. 
+0

AKTUALIZACJA: Dzieje się tak tylko wtedy, gdy dwukrotnie dotknę pliku img w widoku uiwebview, aby powiększyć. – HurkNburkS

+1

Czy dzieje się to również w systemie iOS 5? –

Odpowiedz

66

Spróbuj ustawić tło widoku webView jako przezroczyste (clearColor) i ustawić jego nieprzezroczystą właściwość na FALSE. Następnie ułóż białe tło w swoim html lub po prostu zobacz pod białym widokiem webView.

+0

LEDGEN !!!! nie mogę uwierzyć, jak bardzo byłem bliski tego. Spędziłem cały wczoraj nad tym pracując ... Musiałem zmienić kolor tła, aby był przezroczysty i nieprzejrzysty na fałszywy i działał idealnie! bardzo dziękuję ... – HurkNburkS

+0

Cieszę się, że mogę Ci pomóc. Twoje zdrowie! – George

+3

Magia. Nieprzezroczysta właściwość. – Luke

13

Miałem ten sam problem, i po prostu ustawienie nieprzezroczyste na NIE naprawiłem. Nie trzeba nawet zmieniać koloru tła, działa dobrze, gdy kolor tła ustawiony jest na biały.

+3

tak może wyglądać ukryty, ale dodatkowe miejsce pozostaje nadal –

+0

@ jeff9888 Czy kiedykolwiek znalazłeś rozwiązanie dla tej dodatkowej przestrzeni? – benkraus

0

Wyłącz WebKitDiskImageCacheEnabled i czarne obramowanie odchodzi:
W applicationDidFinishLaunchingWithOptions dodać następujące wiersze:

[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"WebKitDiskImageCacheEnabled"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 
1

umieścić w linii ...

webView.scrollView.backgroundColor = UIColor.whiteColor() 

Webview jest mój @IBOutlet słabe var webView: UIWebView!

Powiązane problemy