我试图让用户在我的tableview中点击一行后,立即开始动画指示。我的问题是活动指示灯不能立即开始动画。我的理解是UI未更新,并且在didSelectRowAtIndexPath中的所有操作都完成之前,活动指示器才开始动画。在didSelectRowAtIndexPath上显示加载图像
如何编辑此代码块,以便在用户单击某一行时对活动指示器进行正确的动画设置?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
*)indexPath
{
// Activity Indicator
[activityIndicator startAnimating];
NSDictionary *item;
if (tableView == self.searchDisplayController.searchResultsTableView) {
item = [[NSDictionary alloc] initWithDictionary:[filteredListItems
objectAtIndex:indexPath.row]];
} else {
item = [[NSDictionary alloc] initWithDictionary:[listItems
objectAtIndex:indexPath.row]];
}
//Push to New View Controller
DetailViewController *detailViewController = [[DetailViewController alloc]
initWithNibName:@"DetailViewController" bundle:nil];
profileViewController.newsArticle = item;
[self.navigationController pushViewController:detailViewController animated:YES];
}
我一直在摆弄这些代码,但不知道如何将它们联系在一起。任何帮助将是伟大的!谢谢!
[self performSelector:@selector(pushDetailView:) withObject:tableView afterDelay:0.1];
- (void)pushDetailView:(UITableView *)tableView {
// Push the detail view here
}
您是否尝试将加载图像显示在单独的线程上?这可以解决您的问题,因为当您点击单元格并在同一个线程上执行所有操作时(“继续”并显示加载屏幕),该视图将不会更新,直到完成。 – Groot 2013-02-24 01:56:22
嗨菲利普,我不知道该怎么去做。你有一个例子吗?谢谢! – Brandon 2013-02-24 02:29:44
什么是您的加载图片?这是你正在下载的图像,还是你在捆绑中的图像?图像视图是在一个单元格中还是很多? – rdelmar 2013-02-24 02:46:40