我正在尝试实现一个简单的微调器,而我的应用程序从 Internet 中查找数据。我的数据抓取工作正常,但有时需要一段时间,所以我想使用 UIActivityIndicatorView 让用户知道应用程序没有崩溃。但它目前无法正常工作。我从这些论坛和其他论坛中收集了尽可能多的信息,但由于某种原因它不起作用。同样,我觉得这个解决方案可能非常简单。这就是我正在做的事情:
我将微调器声明为 .h 文件中的属性:
@property (strong, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
我还使用情节提要将微调器对象拖到视图控制器上,并使用 CTRL 拖动创建了到属性的连接。
触发 URL 请求(以及随后的数据加载和解析)的按钮实际上会触发一个 segue,所以我认为使用
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
功能是开始工作的好地方。除了 prepareforsegue 功能外,我没有附加到按钮的特定功能。(也许这是一个问题?是否需要关联 IBAction?...)
无论如何,该功能会触发:
[self GoAheadAndGetData];
反过来,它的开头是这样的:
- (void)GoAheadAndGetData {
[NSThread detachNewThreadSelector:@selector(threadStartAnimating:) toTarget:self withObject:nil];
....... etc
所以这个函数看起来像这样:
- (void) threadStartAnimating:(id)data
{
[activityIndicator startAnimating];
}
最后,在 GoAheadAndGetData 函数的末尾,我放置了停止动画调用,如下所示:
[activityIndicator stopAnimating];
明白了吗?如果有人需要更多信息,请告诉我 - 我已经尝试将其简化为基础知识,所以我不必在这里发布大量代码......
提前谢谢你 - 我真的很感激我能得到的任何帮助。我不太清楚为什么它在这一点上不起作用。