UITableView并将活动指示器视图居中

Kex*_*Ari 2 uitableview uiactivityindicatorview ios

我有一个UITableView从Parse.com获取它的数据.虽然它正在这样做,我想在桌子上方显示一个活动指示器.我的代码是:

        UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        indicator.center=self.view.center;
        [self.view addSubview:indicator];
        [indicator startAnimating];
Run Code Online (Sandbox Code Playgroud)

然而,它不是很重要:

在此输入图像描述

抱歉,这张照片很棒!我尝试将指标添加到表superView,它没有什么区别.这一切都是菜鸟的一点点.有人可以给我一些指示我可能做错的事吗?

小智 5

不,不.你不需要任何这些.您需要做的就是以下内容:

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
Run Code Online (Sandbox Code Playgroud)

想要关闭它后,请执行以下操作:

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
Run Code Online (Sandbox Code Playgroud)

不要担心将指标添加为子视图或其位置或大小.它是状态栏的一部分,Apple负责它,你不能改变它的大小/颜色/等...你可以打开和关闭它.

更新

对不起,我以为你在谈论UIStatusBar活动指标.在回答您的问题时,为了使UIActivityIndi​​catorView居中,请执行以下操作:

UIActivityIndicatorView *spinner = [[UIActivityIndicatorVIew alloc] 
         initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
CGRect frame = spinner.frame;
frame.origin.x = (self.view.frame.size.width / 2 - frame.size.width / 2);
frame.origin.y = (self.view.frame.size.height / 2 - frame.size.height / 2);
spinner.frame = frame;
[view addSubview:spinner];
[spinner startAnimating];
Run Code Online (Sandbox Code Playgroud)