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% 透明?的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView ios8中的透明背景

UIWebView 上的透明 UIToolBar

如何使这个 jquery 在 iOS 5.1 的 UIWebView 中工作?

如何使 RelativeLayout 半透明但不使活动

UIVisualEffects、UIWebView 透明背景

如何使div的背景颜色半透明?