2010-03-28 15 views
7

Uygulamamın ana görünümünde bir uiwebview var. Uygulamanın oluşturduğu HTML'yi oluşturmak için zamana sahip olmadan önce, bir ikinci saniye için beyazdır.iphone uiwebview başlangıç ​​beyaz görünümü

Uiwebview öğesini, oluşturulmadan önce siyah veya başka bir renk haline getirmenin bir yolu var mı? Beyaz flaş, pürüzsüz bir görsel geçiş için planımın bir parçası değil.

Objective-C veya MonoTouch yanıtları iyi, ben iki dilliyim.

+0

Web görünümünün backgroundColor ayarını yapıyor musunuz? –

+0

Denedim, ancak ilk önce web görünümü belirir, beyaz yanıp söner, sonra da rengime gider. –

cevap

3

Denediğiniz bir şey, istediğiniz renkle bir UIView koymak ve UIWebView'ın üzerine aynı genişlik ve yükseklikte yerleştirmektir. Daha sonra webViewDidFinishLoad yönteminde, UIView'i gizli olarak ayarlayın. Eğer web görünümü yüklendikten sonra bunun için daha kullanıcı dostu bir şey için bu değerleri sıfırlamak böylece

webView.backgroundColor = [UIColor clearColor]; 
webView.opaque = NO; 

Bu webViewDidFinishLoad: yılında, ancak, ek birleştirme işlemini neden olur:

31

denemek için başka bir şey şeffaf bir görünüm yapmaktır .

- (void) webViewDidFinishLoad:(UIWebView *)webView 
{ 
    webView.backgroundColor = [UIColor blackColor]; 
    webView.opaque = YES; 
} 
+0

Interface Builder'da bunu yapmaya çalışmak benim için çalışmaz, bu nedenle bunu aklınızda bulundurun. Yukarıdaki kod, iyi çalışıyor .. – phi

+1

Eğer uiwebview programatik başlattıysanız bu mükemmel bir çözümdür. Teşekkürler – Andreas

+0

Ayrıca MainWindow.xib içinde pencerenin arka plan rengini beyazdan siyaha ayarlamaya yardımcı olur. – neoneye

0

Bu yüzden cevabı yorumlamıyorum. @Steve, aslında storyboard'larla yapmak mümkündür.

Place UIWebView altında UIView ve:

// Can be set in the storyboard 
bottomView.backgroundColor = [UIColor yellowColor]; 
webview.alpha = 0; 

yine

sonra beyaz bir sayfa kaç saniye ile bırakılabilir böylece sayfanın çok JS aracılığıyla yüklenen sonra eşyalarını alıp unutmayın
- (void) webViewDidFinishLoad:(UIWebView *)webView 
{ 
    webView.alpha = 1; 
} 
0

Steve Madsen'in cevabını eklemek için (daha yorum yapamayacağım için). Eğer UIWebView'i Arayüz Oluşturucu'yduysan, alfa'yı 0.0'a ayarlayamazsın, ama yapabileceğin şey bir arka plan rengini (beyaz, siyah, gri, önemli değil) ayarlamak için renk seçiciyi getirmektir. Bu rengin opaklığı yüzde sıfır ve çalışır.