iOS:如何使UIWebView半透明?

4
我想创建一个UIWebView,其背景为50%透明,但其内容(例如文字、图片等)不透明。这种情况是否可行?谢谢。
3个回答

11
webView.alpha=0.5f;

[webView setBackgroundColor:[UIColor clearColor]];

[webView setOpaque:NO];

我认为这只能让你完成一半。你还需要使网页的主体半透明。 - MusiGenesis
即时帮助请访问 http://chat.stackoverflow.com/rooms/682/conversation/do-u-want-instant-help-for-ur-question-or-r-u-new-bee-to-iphone-ipad-develop - Vijay-Apple-Dev.blogspot.com

2

看起来这是可能的,也许吧。请看这篇博客文章:

http://erikloehfelm.blogspot.com/2009/04/transparent-background-on-iphone.html

使背景半透明取决于能否将网页BODY元素的CSS颜色设置为半透明颜色(而非“透明”)。

此外,如果您没有控制要显示的网页的HTML,则此博客文章不会展示如何实现此操作,但使用UIWebView可在页面内容加载后以编程方式更改此颜色。


0

尝试更改 透明任何颜色/透明度,以找到您最喜欢的组合,可以在 webView.backgroundColor 和 html 的 <body> css 样式中进行修改。以下是使用 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];
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接