How to make a transparent UIWebView
I have an app with a UITableView
and a corresponding detail view for each row. In the detail view I have to display some text and a background image (text is different for each row, but the image remains the same). The easiest way, in my opinion, is to put the text in an .rtf file and display it in a UIWebView
. Then just put a UIImageView
behind the UIWebView
.
I've tried to set the UIWebView
's opacity to zero in IB, but it didn't help.
Can you help me?
I recommend:
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
(setting these properties in Interface Builder will work for iOS 5.0+, but for iOS 4.3 you must set the backgroundColor in code)
And include this into your HTML code:
<body style="background-color: transparent;">
Use the recursive method below to remove gradient from UIWebView:
[webView setBackgroundColor:[UIColor clearColor]];
[self hideGradientBackground:webView];
- (void) hideGradientBackground:(UIView*)theView
{
for (UIView * subview in theView.subviews)
{
if ([subview isKindOfClass:[UIImageView class]])
subview.hidden = YES;
[self hideGradientBackground:subview];
}
}
Swift update:
webView.opaque = true
webView.backgroundColor = UIColor.clearColor()
And again, don't forget to set
<body style="background-color: transparent">
Or better still, instead of an inline style, in your style sheet:
body {
background-color: transparent
}
For Swift 3 and Xcode 8
self.webView.isOpaque = false;
self.webView.backgroundColor = UIColor.clear