我有UITableView
一些UITableViewCells
,当我点击特定的单元格时,应用程序会从我的服务器下载一些信息。问题是:“如何立即显示只有UIActivityIndicator
的视图,该视图在下载的所有时间内都会被动画化,并在下载完成后停止动画?”
*注意:不应该在应用程序的其他奇怪操作之后,它必须是单击单元格后的第一件事。
答案 0 :(得分:0)
您可以使用以下方法在单个方法中启动和停止主线程上的活动指示器
- (void)showIndicatorAndStartWork
{
// start the activity indicator (you are now on the main queue)
[activityIndicator startAnimating];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// do your background code here
dispatch_sync(dispatch_get_main_queue(), ^{
// stop the activity indicator (you are now on the main queue again)
[activityIndicator stopAnimating];
});
});
}
注意:
我正在做一些背景知识,所以我使用了dispatch_async
,如果你还想在后台下载某些东西,你也可以使用dispatch_async
,否则你也可以在主线程上下载这些东西。