UIWebView Transparent Background in ios8

I am using UIWebview, but there is a black background behind the web view in ios8. The same thing works in ios7. I also installed opaque for NO.

+5
source share
3 answers

Try adding UIWebview as a routine programmatically.

WebView = [[UIWebView alloc]initWithFrame:CGRectMake(264, 10, 745, 576)]; WebView.userInteractionEnabled = YES; [self setBorderToView: WebView]; WebView.scrollView.bounces = NO; [WebView setBackgroundColor:[UIColor clearColor]]; [WebView setOpaque:NO]; [WebView loadHTMLString: embedHTML baseURL: nil]; [self.view addSubview: WebView]; 

Hope this helps you!

0
source

I also ran into the same problem without getting the right solution. I did the trick using Masking.

  CALayer *aLayer = [CALayer layer]; aLayer.backgroundColor = [UIColor blackColor].CGColor; aLayer.frame = CGRectMake(origin.x, origin.y, widthOfVideo, heightOfVideo); objWebView.layer.mask = aLayer; 

And it worked for me. Hope this helps you.

0
source
 Put a instance variable in the in the header file or your class: // instance variable for interval timer NSTimer *BackgroundIntervalTimer; Put these methods in the implementation file: - (void)startUIWebViewBackgroundFixTimer { // if > iOS 8 start fixing background color of UIWebPDFView if (!SYSTEM_VERSION_LESS_THAN(@"8.0")) { // hide pdfWebView until background fixed self.pdfWebView.alpha = 0.0; // start interval timer BackgroundIntervalTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(fixBackground) userInfo:nil repeats:YES]; } } - (void)stopUIWebViewBackgroundFixTimer { [BackgroundIntervalTimer invalidate]; BackgroundIntervalTimer = nil; } - (void)fixBackground { // stop timer interval [self stopUIWebViewBackgroundFixTimer]; // Assuming self.webView is our UIWebView // We go though all sub views of the UIWebView and set their backgroundColor to white UIView *v = self.pdfWebView; while (v) { //v.backgroundColor = [UIColor whiteColor]; v = [v.subviews firstObject]; if ([NSStringFromClass([v class]) isEqualToString:@"UIWebPDFView"]) { [v setBackgroundColor:[UIColor whiteColor]]; // background set to white so fade view in and exit [UIView animateWithDuration:0.25 delay:0.0 options:UIViewAnimationOptionCurveEaseOut animations:^{ self.pdfWebView.alpha = 1.0; } completion:nil]; return; } } // UIWebPDFView doesnt exist yet so exit and try later [self startUIWebViewBackgroundFixTimer]; } Now put this line right after the line where you load the pdf: // if iOS 8 check if pdfWebView got subview of class UIWebPDFView [self startUIWebViewBackgroundFixTimer]; 
-1
source

Source: https://habr.com/ru/post/1202574/


All Articles