首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在iOS中更改UIWebView的背景

无法在iOS中更改UIWebView的背景
EN

Stack Overflow用户
提问于 2009-10-10 05:01:35
回答 7查看 35.7K关注 0票数 58

有没有办法改变UIWebView的背景颜色?

IB中设置的任何颜色都不会影响UIWebView行为:在加载实际内容之前,它显示为白色(导致在加载和渲染内容之间出现白色闪烁)。

以编程方式设置背景颜色也不会做任何事情。

下面是代码:

@interface Web_ViewViewController : UIViewController {

    UIWebView *web;
}

@property (nonatomic, retain) IBOutlet UIWebView *web;
@end

....
-(void)viewDidLoad {
    super viewDidLoad;

    web.backgroundColor = [UIColor blueColor];
    NSURL *clUrl = [NSURL URLWithString:@"http://www.apple.com"];
    NSURLRequest *req = [NSURLRequest requestWithURL:clUrl];

    [web loadRequest:req];
}
EN

回答 7

Stack Overflow用户

发布于 2010-03-12 21:14:57

您可以将webview的不透明属性设置为NO,然后设置下面视图的背景色。

[webView setOpaque:NO];
票数 180
EN

Stack Overflow用户

发布于 2009-10-12 05:14:14

试一试。它将淡入UIWebView一旦它完成加载,您将看不到闪光灯。

@interface Web_ViewViewController : UIViewController <UIWebViewDelegate> {

UIWebView *web;
BOOL firstLoad;
}

@property (nonatomic, retain) IBOutlet UIWebView *web;
@end

...

(void)viewDidLoad {
    [super viewDidLoad];
    firstLoad = YES;
    web.delegate = self;
    web.alpha = 0.0;
    NSURL *clUrl = [NSURL URLWithString:@"http://www.apple.com"];
    NSURLRequest *req = [NSURLRequest requestWithURL:clUrl];
    [web loadRequest:req];
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
if (firstLoad) {
    firstLoad = NO;
    [UIView beginAnimations:@"web" context:nil];
    web.alpha = 1.0;
    [UIView commitAnimations];
    }
}

加载后,webViewDidFinishLoad中的动画块将淡入视图,或者如果您更喜欢让它弹出,则只需删除UIView调用。

票数 17
EN

Stack Overflow用户

发布于 2010-05-11 02:31:23

这里的答案对我来说都不起作用,它们都包含了一些闪光。我在这里找到了一个有效的答案:http://www.iphonedevsdk.com/forum/iphone-sdk-development/4918-uiwebview-render-speeds-white-background.html (我必须将延迟调整到.25以避免闪烁)。记住在InterfaceBuilder中检查UIWebView的“隐藏”标志。

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
    [self performSelector:@selector(showAboutWebView) withObject:nil afterDelay:.25];          
}

- (void)showAboutWebView 
{
    self.infoWebView.hidden = NO;
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1547102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档