iOS - 在加载表时显示UIActivityIndi​​catorView

时间:2011-06-22 11:42:08

标签: objective-c cocoa-touch uitableview uiactivityindicatorview

我有一个标签栏应用程序。我有两个问题。

  • 使用默认图像 应用程序确实启用了 应用程序初始化自己( 显示的第一个视图 MainView.xib)在后台同时 图像正在显示?

  • 触摸中的第二个标签 申请,申请将 将数据加载到UITableView。这个 需要一些时间(获取一些数据 来自互联网)所以从 第一个选项卡到第二个选项卡 在桌子出现之前的延迟 显示在第二个标签中。我想要 同时显示UIActivityIndicatorView 正在填充UITableView 然后想要 UIActivityIndicatorView消失 当UITableView完成时 加载。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:10)

您可以在活动中使用此内容:

protected Dialog onCreateDialog(int id) {
        ProgressDialog progress = new ProgressDialog(this);
        progress.setMessage("The information is gathered, one moment please.");
        progress.setIndeterminate(true);
        progress.setCancelable(false);
        progress.setCanceledOnTouchOutside(false);
        return progress;
}

一旦您在活动中(或在活动中)调用此信息,这将显示警告:

showDialog(0x0001);

当对话必须淡出时,请调用:

removeDialog(0x0001);

修改

现在为objective-c:

UIAlertView alert = [UIAlertView initWithTitle:@"a title" message:@"a message" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]
[alert show];

if(alert != nil) {
        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

        indicator.center = CGPointMake(alert.bounds.size.width/2, alert.bounds.size.height-45);
        [indicator startAnimating];
        [alert addSubview:indicator];
        [indicator release];
}

修改 删除它是这样的:

[alert dismissWithClickedButtonIndex:0 animated:YES];
[alert release];

<强> /修改

这对我有用:)它可能是它不完全的位置因为我在浏览器中改变了一些东西,现在提出公司机密等xD :)。 随意问一下它的内容。

答案 1 :(得分:3)

  1. YES。即使您没有提供任何默认图像,它也会加载显示黑屏的第一个视图控制器。

  2. 在第二个视图控制器的loadView中显示活动指示器视图。并且,将所有加载代码放在第二个视图控制器viewDidAppear:方法中。通过这样做,只要按下第二个选项卡,第二个视图控制器就会显示活动指示器视图。加载完成后,关闭活动指示器。这将使您从一个选项卡平滑过渡到另一个选项卡。