我有一个带有 UITabBarController 的应用程序,其中有五个选项卡。在真实设备上的测试表明,从一个选项卡切换到另一个选项卡可能需要一秒或多秒的时间来加载视图,因为我还必须从互联网下载一些数据。

我想做的是在加载视图时显示 UIActivityIndi​​catorView,但我找不到解决方案。也许我没有找到正确的方法。

有人可以帮助我吗?

有帮助吗?

解决方案

您应该使用异步请求下载任何数据, ASIHTTP请求 是一个很好的包装。

对于 UIActivityIndi​​catorView,这些是流行的选项:

  1. 在视图中实际加载其他任何内容之前,请在选项卡上显示它。当数据准备就绪时,只需将其隐藏并显示完整的信息。
  2. 显示您的不完整视图,并在uiactitivityIndi​​catorView中添加覆盖层。

其他提示

我的方式:

使用Uilabel,uiactivityDindicator和黑色背景创建LoadingViewController类。

在ViewDidload方法中,我设置了:

[self.view setAlpha:0.0];
[self.activityIndicator startAnimating];

我实施两种方法:

-(void)appear{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[self.view setAlpha:0.65];
[UIView commitAnimations];
}

-(void)disappear{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
[self.view setAlpha:0.0];
[UIView commitAnimations];
}

在标签中,您可以设置自定义文本。

在您正在工作的课堂中导入此课程,然后致电:

[loadingViewController appear];

[loadingViewController disappear];

我现在没有Mac,无法验证我是否只是写任何错误,但我希望您明白了:)

如果我在应用程序中的许多地方需要它,我总是更喜欢为此做一个自定义课程。

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