Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iOS-加载表时显示UIActivityIndicatorView_Objective C_Cocoa Touch_Uitableview_Uiactivityindicatorview - Fatal编程技术网

Objective c iOS-加载表时显示UIActivityIndicatorView

Objective c iOS-加载表时显示UIActivityIndicatorView,objective-c,cocoa-touch,uitableview,uiactivityindicatorview,Objective C,Cocoa Touch,Uitableview,Uiactivityindicatorview,我有一个选项卡栏应用程序。我有两个问题 将默认图像用于 应用程序不支持 应用程序初始化自身( 中显示的第一个视图 MainView.xib)在 正在显示图像 触摸中的第二个选项卡 应用程序,应用程序将 将数据加载到UITableView中。这 需要一些时间(获取一些数据 从互联网)所以从 从第一个选项卡到第二个选项卡 在桌子被打开之前的一个延迟 显示在第二个选项卡中。我想 显示ui活动指示灯视图 正在填充UITableView 然后想要 ui活动指示灯视图消失 当UITableView完成时

我有一个选项卡栏应用程序。我有两个问题

  • 将默认图像用于 应用程序不支持 应用程序初始化自身( 中显示的第一个视图 MainView.xib)在 正在显示图像

  • 触摸中的第二个选项卡 应用程序,应用程序将 将数据加载到
    UITableView
    中。这 需要一些时间(获取一些数据 从互联网)所以从 从第一个选项卡到第二个选项卡 在桌子被打开之前的一个延迟 显示在第二个选项卡中。我想 显示
    ui活动指示灯视图
    正在填充
    UITableView
    然后想要
    ui活动指示灯视图
    消失 当
    UITableView
    完成时 加载。我怎样才能做到这一点

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

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


  • 您可以在活动中使用此选项:

    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);
    
    一旦您在活动中(或在活动中)调用此选项,将显示警报:

    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);
    
    编辑

    现在谈谈目标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];
    
    /EDIT

    这对我很有用:)它可能不是完全正确的,因为我把浏览器中的一些东西改成了现在的公司机密等xD:)。
    请随意询问相关信息。

    谢谢您的回答。你能用一些代码来举例吗?谢谢,但这个问题一般是关于Objective-C,具体是关于iOS(不是Android)。哦,对不起,我打开了错误的项目,甚至没有打开错误的操作系统。。。我会马上给你一个ios版本。谢谢!,那么,您如何在代码中知道UITableView(在我的例子中,它已经完成了数据加载,以便您可以关闭UIActivityIndicatorView?)的时间,我使用它进行了完全相同的操作。我所做的是在一个单独的类中从internet获取数据,当处理这个数据的方法被称为警报时,就启动了。然后它将下载(在我的例子中解析xml),并将下载/解析的信息放入数组中。完成后,我停止警报并打开新页面。因为ios总是只加载屏幕上显示的内容,不会花费很长时间。其余部分在上/下滚动时加载。填充阵列后,能否向我显示停止警报的代码?我添加了objective-c代码。如果我的答案正确,请标记为答案:)