【发布时间】:2012-03-22 10:44:39
【问题描述】:
我使用UIActivityIndicatorView 作为IBOutlet。我正在尝试使用[activityView startAnimating] 和[activityView stopAnimating] 来控制它。
我在 XIB 文件中启用了“停止时隐藏”和“动画”行为。
我想为控制器内的几个用户操作启动微调器的动画。但是在第一次[activityView stopAnimating] 调用之后,它不会再次响应[activityView startAnimating] 调用。
这意味着微调器在第一次[activityView stopAnimating] 调用后消失了。
我在下一次[activityView startAnimating] 呼叫之前尝试了activeView.hidden = NO;。但它不起作用。
对这个问题有任何想法吗?
已编辑
在我的控制器加载后,我会跟随,
do {
[self.activityIndicator startAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[webServiceCallOperation getResults];
[self.activityIndicator stopAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
} while (![webServiceCallOperation isValideResponse] || [webServiceCallOperation isServerError]);
在同一个控制器中,我有一个用于单击按钮的 IBAction。
- (IBAction)tappedSearchButton:(id)sender
{
[self.activityIndicator startAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
[self tappedSearchButtonAction];
[self.activityIndicator stopAnimating];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}
我注意到在[self.activityIndicator startAnimating]; 调用之后微调器没有开始动画。我使用[self tappedSearchButtonAction]; 调用Web 服务并转到搜索结果视图。微调器在更改视图之前开始动画。这就是为什么我没有看到它。但我想在 Web 服务调用之前对其进行动画处理,并且应该在我的 Web 服务调用时对其进行动画处理。
网络活动指示器的行为相同。
【问题讨论】:
-
确定没有发布吗?另外,你第二次只在主线程上启动,对吧?
-
提供一些代码。很难理解发生了什么。检查指示器是否停留在您当前显示的视图下。
-
当然。我不释放微调器对象。我也注意到了这个问题。这是动画。但它不会在 [activityView startAnimating] 调用之后立即生成动画。我找不到它何时开始动画。我通过添加我的代码来编辑我的问题。
标签: objective-c ios ipad uikit uiactivityindicatorview