it-swarm.com.de

Der UIWebView-Hintergrund ist auf Farbe löschen gesetzt, aber er ist nicht transparent

Ich entwickle eine iOS 4-Anwendung mit der neuesten Version von iOS SDK und XCode 4.2.

Ich habe eine XIB mit einer UIWebView mit Alpha = 1.0 , Hintergrund auf Farbe löschen und Opaker ist nicht gesetzt. Auf dieser XIB setze ich ein Bild als Hintergrund mit diesem Code ein:

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

Die UIWebView zeigt ein statisches HTML:

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

Auf dem iOS 5-Simulator ist der Hintergrund transparent, auf einem iOS 4-Gerät jedoch grau.

Irgendeine Ahnung?

135
VansFannel

Set auch:

[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
355
Maulik
     /*for ios please set this*/

     [webViewFirst setOpaque:NO];

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

Vergewissern Sie sich, dass der Hintergrund Ihres Webview auf Farbe gesetzt ist, und stellen Sie außerdem Opake auf false.

7
Elegia
webView.opaque = NO;

webView.backgroundColor = [UIColor clearColor];
3
Avinash651

Sie können diesen Code ausprobieren (ich weiß, dass er unsicher ist, aber er funktioniert sogar für ios5):

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

3
NSString *[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];
3
user5742417

Für das Ziel

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

Bitte fügen Sie dies in Ihren HTML-Code ein:

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

oder

 <body style="background:none">
1
Amr Angry

Neueste Swift-Version (nach Bedarf):

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

Entfernen Sie die Delegatenzeile, wenn dies nicht erforderlich ist

0
RichAppz