140 votes

L'arrière-plan UIWebView est défini sur Clear Color, mais n'est pas transparent

Je suis l'élaboration d'un iOS 4 application à l'aide de SDK iOS version la plus récente et XCode 4.2.

J'ai un XIB avec un UIWebView avec Alpha = 1.0, Fond ensemble de Couleur Claire et Opaque n'est pas définie. Sur cette XIB-je configurer une image comme arrière-plan avec ce code:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"AboutBackground.png"]];
        self.view.backgroundColor = background;
        [background release];
    }
    return self;
}

L' UIWebView montre une page html statique:

<html><head></head><body style=\"margin:0 auto;text-align:center;background-color: transparent; color:white\">...</body></html>

Sur iOS 5 simulateur, ses arrière-plan est transparent, mais sur un appareil iOS 4 est gris.

Aucun indice?

365voto

Maulik Points 13234

Aussi défini:

 [webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
 

15voto

dheerendra Points 81
     /*for ios please set this*/

     [webViewFirst setOpaque:NO];

     /*for html please set this*/
     <body style="background:none">

9voto

Elegia Points 90

En plus de définir l'arrière-plan de votre vue Web pour effacer la couleur, assurez-vous également que vous définissez opaque sur false.

3voto

Artem Stepanenko Points 380

Vous pouvez essayer ce code (je sais que c'est dangereux, mais ça marche même pour ios5):

 - (void)makeBodyBackgoundTransparent {
        for (UIView *subview in [webView subviews]) {
            [subview setOpaque:NO];
            [subview setBackgroundColor:[UIColor clearColor]];
        }
        [webView setOpaque:NO];
        [webView setBackgroundColor:[UIColor clearColor]];
} 

3voto

Avinash651 Points 31

webView.opaque = NO;

webView.backgroundColor = [UIColor clearColor];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X