无法使以编程方式创建的UIWebView透明

时间:2011-06-22 12:41:09

标签: iphone objective-c uiwebview transparency background-color

我正在尝试以编程方式创建UIWebView,我需要将它覆盖在另一个元素上,所以我的代码中有以下内容:

webViewScroller = [[UIWebView alloc] initWithFrame:CGRectMake(47, 80, 226, 310)];
webViewScroller.opaque = NO;
webViewScroller.backgroundColor = [UIColor clearColor];

最后两行在Interface Builder中创建透明UIWebView时非常有用,但由于我想在代码中严格创建和销毁视图,所以我就是这样创建的。我期望它响应相同的设置参数,无论是在IB中还是在代码中创建的。我错过了一些简单的事吗?我也试过循环子视图并使它们透明,但我也没有任何运气。我猜测其中一个父视图不是不透明的,但我不确定如何引用它以使其不透明。我也尝试过这个:

[webViewScroller.layer setOpaque:NO];

[更新:]我还在我的HTML中添加了<body style="background-color:transparent;">。这不是问题,因为它是包含视图的父级:当您滚出界限时,“阴影”背后的那个。

3 个答案:

答案 0 :(得分:3)

您还需要将HTML正文背景颜色设置为透明,以使其正常工作。

这样的东西(或在标题中使用样式标记):

<body style="background-color:transparent;">

答案 1 :(得分:0)

使用以下内容将UIView继承的类视为透明。根据您的要求设置alpha的值。

webViewScroller.alpha = 0.3f;

答案 2 :(得分:0)

关于这个问题,我自己也在回答。我从来没有找到这个特定问题的解决方案,所以我刚刚在IB中创建了WebView,它就像我原来的帖子中提到的一样。

感谢所有试图提供帮助的人。