我有tableview从服务器填充数据,我使用UIActivityIndicatorView
来显示处理图标,但如果用户按下后退按钮,此指示器视图仍然是动画。我们如何在UIActivityIndicatorView
上执行stopAnimating?任何帮助将不胜感激。
以下是我用来创建ActivityIndicatorView的示例代码。
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];
答案 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]
来完成。