UIActivityIndi​​catorView停止动画

时间:2015-01-24 20:11:42

标签: objective-c ios7 uiactivityindicatorview

我有tableview从服务器填充数据,我使用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];

1 个答案:

答案 0 :(得分:1)

您可以按照以下方式初始化微调器:

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

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

[self.view addSubview:self.spinner];

但是,由于您在这里使用tableview,因此这不是一个好主意。这是一个滚动视图,并且微调器将滚动显示表视图,这是对用户的超级配置。

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

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

当您点击后退按钮时,微调器将离开表格视图,您无需担心停止动画。

修改:

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

相关问题