iOS:如何使 UIWebView 50% 透明?
Posted
技术标签:
【中文标题】iOS:如何使 UIWebView 50% 透明?【英文标题】:iOS: How to make UIWebView 50% transparent? 【发布时间】:2011-09-23 18:10:14 【问题描述】:我想制作一个 UIWebView,其背景为 50% 透明,但其内容例如根本不透明。
这样的事情可能吗?
谢谢。
【问题讨论】:
【参考方案1】:webView.alpha=0.5f;
[webView setBackgroundColor:[UIColor clearColor]];
[webView setOpaque:NO];
【讨论】:
我认为这只会让你走到一半。您仍然必须使网页的正文半透明。 即时帮助chat.***.com/rooms/682/conversation/…【参考方案2】:看起来这是可能的,也许吧。请参阅此博客文章:
http://erikloehfelm.blogspot.com/2009/04/transparent-background-on-iphone.html
使背景半透明取决于您是否可以将网页的 BODY 元素的 CSS 颜色设置为半透明颜色(而不是“透明”)。
此外,如果您不控制要显示的网页的 HTML,这篇博文也没有说明如何执行此操作,但可以使用 UIWebView
以编程方式更改此颜色页面内容已加载。
【讨论】:
【参考方案3】:尝试将 webView.backgroundColor
和 html <body>
css 样式的 transparent 更改为 whatever color / alpha,以找到您最喜欢的组合。以loadHTMLString
为例:
- (void)embedYouTubeWithVideoID:(NSString *)videoID
webView.backgroundColor = [UIColor clearColor];
CGFloat w = webView.frame.size.width;
CGFloat h = webView.frame.size.height;
NSString *ytUrlString = [NSString stringWithFormat:@"http://www.youtube.com/v/%@&version=3&autohide=1&autoplay=1&cc_load_policy=1&fs=1&hd=1&modestbranding=1&rel=0&showsearch=0", videoID];
NSString *embed = [NSString stringWithFormat:@"\
<html>\
<head>\
<meta name=\"viewport\" content=\"initial-scale = 1.0, user-scalable = no, width = %0.0f\"/>\
</head>\
<body style=\"background:transparent; margin-top:0px; margin-left:0px\">\
<div>\
<object width=\"%0.0f\" height=\"%0.0f\">\
<param name=\"movie\" value=\"%@\" />\
<param name=\"wmode\" value=\"transparent\" />\
<param name=\"allowFullScreen\" value=\"true\" />\
<param name=\"quality\" value=\"high\" />\
<embed src=\"%@\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" allowscriptaccess=\"always\" wmode=\"transparent\" width=\"%0.0f\" height=\"%0.0f\" />\
</object>\
</div>\
</body>\
</html>", w, w, h, ytUrlString, ytUrlString, w, h];
[webView loadHTMLString:embed baseURL:nil];
【讨论】:
以上是关于iOS:如何使 UIWebView 50% 透明?的主要内容,如果未能解决你的问题,请参考以下文章
如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?