Answers:
我建议:
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
(在Interface Builder中设置这些属性将适用于iOS 5.0+,但对于iOS 4.3,必须在代码中设置backgroundColor )
并将其包含到您的HTML代码中:
<body style="background-color: transparent;">
<body style="background-color: transparent;">
似乎是可选的,至少在最近的IOS版本。
使用下面的递归方法从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];
}
}
快速更新:
webView.opaque = true
webView.backgroundColor = UIColor.clearColor()
再说一次,别忘了设置
<body style="background-color: transparent">
或者,最好在样式表中使用内联样式代替内联样式:
body {
background-color: transparent
}
对于Swift 3和Xcode 8
self.webView.isOpaque = false;
self.webView.backgroundColor = UIColor.clear
在XCode 6.x中,取消选中不透明,并将Background的不透明度更改为0%。我认为其他XCode版本也可以使用。
通过转到“属性检查器”并取消选中“绘图不透明”,可以使UIWebView透明。
我的HTML代码仅供参考。
UIWebView* webView =(UIWebView *) [cell viewWithTag:100];
NSString* htmlContentString = [NSString stringWithFormat:
@"<html>"
"<style type='text/css'>html,body {margin: 0;padding: 0;width: 100%%;height: 100%%;}</style>"
"<body>"
"<table style='border:1px solid gray; border-radius: 5px; overflow: hidden;color:white;font-size:10pt' cellspacing=\"0\" cellpadding=\"1\" align='right'><tr>"
"<td>Hello</td><td>There</td>"
"</tr></table>"
"</body></html>"
];
[webView loadHTMLString:htmlContentString baseURL:nil];
要删除滚动并使其UIWebView
透明,请尝试以下代码:
webView.opaque = NO;
webView.backgroundColor = [UIColor clearColor];
for(UIView *view in webView.subviews){
if ([view isKindOfClass:[UIImageView class]]) {
// to transparent
[view removeFromSuperview];
}
if ([view isKindOfClass:[UIScrollView class]]) {
UIScrollView *sView = (UIScrollView *)view;
//to hide Scroller bar
sView.showsVerticalScrollIndicator = NO;
sView.showsHorizontalScrollIndicator = NO;
for (UIView* shadowView in [sView subviews]){
//to remove shadow
if ([shadowView isKindOfClass:[UIImageView class]]) {
[shadowView setHidden:TRUE];
}
}
}
}