UIActivityIndi​​catorView 停止动画

UIActivityIndicatorView stop animation

我有从服务器填充数据的表视图,我正在使用 UIActivityIndicatorView 来显示处理图标,但如果用户按下后退按钮,此指示器视图仍会显示动画。我们如何在这个 UIActivityIndicatorView 上执行 stopAnimating?任何帮助将不胜感激。

这是我用来创建 ActivityIndi​​catorView 的示例代码。

 self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    self.spinner.center = self.tableView.center;
    self.spinner.color = [UIColor yellowColor];
    UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
    [mainWindow addSubview: self.spinner];

您对微调器的初始化是正确的,如下所示:

self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
self.spinner.center = self.view.center;

然后为了查看 spinner,您需要将其添加为某个视图的子视图。所以我们通常会做以下事情。

[self.view addSubview:self.spinner];

但是,由于您在这里使用的是 tableview,因此这样做并不是一个好主意。因为 table 视图是滚动视图,而微调器将与 table 视图一起滚动,这对用户来说非常奇怪。

因此,最好将 self.spiner 添加为 navgationcontrollerview 的子视图。

[self.navigationController.view addSubview:self.spinner];

当您点击后退按钮时,微调器将随 table 视图一起消失,您无需担心停止动画。

编辑:

顺便说一句,如果你想在你的视图消失之前停止动画,例如,如果你已经完成与服务器的通信并完成加载数据,你总是可以通过调用 [self.spinner stopAnimation] 来完成。