我对 iPhone SDK 中的 UIWebView 有一个大问题。我有一个 TabBarApplication,每个选项卡上都有一个 WebView(第一个选项卡除外)。

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

这是我为此使用的代码:

-(void)webViewDidStartLoad:(UIWebView *) portal {

[UIApplication共享应用程序].networkActivityIndi​​catorVisible = YES;}

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

这样不行...我在第一个选项卡中的 WebView 称为“portal”,这就是我在上面输入它的原因,但如果我使用 WebView 也存在同样的问题。

有任何想法吗?这不可能是真的,这太困难了。我正在安静地寻找线索一段时间,但没有找到任何可以帮助我构建这样一个(认为很容易)活动指示器的东西。

非常感谢您的努力!

来自德国Tobias的问候

有帮助吗?

解决方案

我通常使用 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];
}

要摆脱该指标:

-(void)webViewDidFinishLoad:(UIWebView *) portal{
 self.navigationItem.rightBarButtonItem = nil;
}

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top