iphone - tutorial - O fundo do UIWebView está definido como Clear Color, mas não é transparente




wkwebview ios version (6)

Além de definir o plano de fundo da sua visualização da Web para limpar a cor, certifique-se também de definir opaco para falso.

Estou desenvolvendo um aplicativo para iOS 4 usando a versão mais recente do iOS SDK e o XCode 4.2.

Eu tenho um XIB com um UIWebView com Alpha = 1.0 , Background definido como Clear Color e Opaque não está definido. Neste XIB eu configurei uma imagem como fundo com este código:

- (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;
}

O UIWebView está mostrando um html estático:

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

No simulador do iOS 5, seu plano de fundo é transparente, mas em um dispositivo iOS 4 fica cinza.

Qualquer pista?


Para objetivo

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

Por favor, certifique-se de incluir isso em seu código HTML:

<body style="background-color: transparent;">

ou

 <body style="background:none">

Versão Swift mais recente (conforme necessário):

lazy var webView: UIWebView = {
    let view = UIWebView()
    view.delegate = self
    view.backgroundColor = .clear
    view.isOpaque = false
    return view
}()

Remover linha delegada, se não for necessário


Você pode tentar este código (eu sei que não é seguro, mas funciona mesmo para o ios5):

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


webView.opaque = NO;

webView.backgroundColor = [UIColor clearColor];

NSString *content[email protected]"example clear background color UIWebview";
NSString *style=[NSString stringwithformat:@"<html><head><style>body {background-color:transparent;}</style></head><body>%@</body></html>",content];
[myWebview loadhtmlstring:style baseurl:nil];




uiwebview