加载UIViewController时的iPhone UIActivityIndi​​catorView

时间:2010-10-15 11:00:39

标签: iphone uiviewcontroller uiactivityindicatorview

我有一个带有五个标签的UITabBarController的应用程序。 对真实设备的测试表明,从一个标签切换到另一个标签可能需要一秒或几秒钟来加载视图,因为我还必须从互联网上下载一些数据。

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

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您应该使用异步请求下载任何数据,ASIHTTPRequest是一个不错的包装器。

然后,对于UIActivityIndi​​catorView,这些是很受欢迎的选项:

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

答案 1 :(得分:1)

我的方式:

使用UILabel,UIActivityIndi​​cator和黑色背景创建一个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,不能验证我是否写过任何错误,但我希望你能得到这个想法:)

我总是喜欢为此制作自定义课程,以防我在我的应用中的许多地方需要它。