iPhone SDK - WebView活动指示器

Tob*_*ias 1 iphone sdk view uiwebview uitabbar

我在iPhone SDK中的UIWebView存在很大问题.我有一个TabBarApplication,每个Tab上都有一个WebView(第一个除外).

因为加载视图需要一段时间,我想显示一个活动指示器.

这是我正在使用的代码:

-(void)webViewDidStartLoad:(UIWebView *) portal {
Run Code Online (Sandbox Code Playgroud)

[UIApplication sharedApplication] .networkActivityIndi​​catorVisible = YES; }

-(void)webViewDidFinishLoad:(UIWebView *) portal{
 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
}
Run Code Online (Sandbox Code Playgroud)

它不能以这种方式工作......我在第一个选项卡中的WebView被称为"门户",这就是我在上面输入它的原因,但是如果我使用WebView则存在同样的问题.

有任何想法吗?这太难了,这不可能是真的.我现在正在寻找一条安静的线索,但没有找到任何帮助我建立这样一个(认为很容易)的活动指示器.

非常感谢您的努力!

来自德国Tobias的问候

Mat*_*gan 6

我通常使用UIActivityIndi​​catorView.

如果您在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];
}
Run Code Online (Sandbox Code Playgroud)

要摆脱指标:

-(void)webViewDidFinishLoad:(UIWebView *) portal{
 self.navigationItem.rightBarButtonItem = nil;
}
Run Code Online (Sandbox Code Playgroud)

如果您没有使用导航控制器,那么我只需使用较大的样式UIActivityIndi​​catorViewStyleWhiteLarge或将视图放在屏幕上的黑色半透明视图上,然后在加载完成时将其删除.