我在iPhone SDK中的UIWebView存在很大问题。 我有一个TabBarApplication,每个Tab上都有一个WebView(第一个除外)。
因为加载视图需要一段时间才能显示我想要显示活动指示符。
以下是我正在使用的代码:
-(void)webViewDidStartLoad:(UIWebView *) portal {
[UIApplication sharedApplication] .networkActivityIndicatorVisible = YES; }
-(void)webViewDidFinishLoad:(UIWebView *) portal{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
它不能以这种方式工作......我在第一个选项卡中的WebView被称为“门户”,这就是我在上面输入它的原因,但是如果我使用WebView则存在同样的问题。
有什么想法吗?这太难了,这不可能是真的。 我现在正在寻找一条安静的线索,没有找到任何帮助我建立这样一个(认为很容易)的活动指示器。
非常感谢您的努力!
来自德国的问候 托拜厄斯
答案 0 :(得分:6)
我通常使用UIActivityIndicatorView。
如果在Web视图的顶部有一个导航控制器,它可以完美地运行:
-(void)webViewDidStartLoad:(UIWebView *) portal {
UIActivityIndicatorView *actInd = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
UIBarButtonItem *actItem = [[UIBarButtonItem alloc] initWithCustomView:actInd];
self.navigationItem.rightBarButtonItem = actItem;
[actInd startAnimating];
[actInd release];
[actItem release];
}
要摆脱指标:
-(void)webViewDidFinishLoad:(UIWebView *) portal{
self.navigationItem.rightBarButtonItem = nil;
}
如果您没有使用导航控制器,那么我只需使用较大的样式UIActivityIndicatorViewStyleWhiteLarge或将视图放在屏幕上的黑色半透明视图上,然后在加载完成时将其删除。