我有一个小问题,似乎困扰着我。 我的UITableViewController子类在TableViewCell的选择上以异步方式加载数据。像这样...UITableViewCell中的UIActivityIndicator不显示在“setSelected”
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"clickROW");
itemData *selectedItemData;;
selectedItemData = [[[DataManager sharedDataManger]getAllDataItems] objectAtIndex:indexPath.row];
[[DataManager sharedMischaManager] loadDataItemDetailsAsync:selectedItemData.Now];
好吧,到目前为止,loadDataItemDetailsAsync
已完成加载后发布通知。然后我的UITableViewController子类才能正确通知,创建一个新的视图,并将其推到其NavigationController ..
一切正常,那么远,
,但由于异步加载可能需要一段时间(取决于电流带宽),我想要一个UIActivityIndicatior在加载时显示/动画。
所以我所做的就是以下(在我的UITableViewCell子类)
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
if(selected)
{
[self.contentView bringSubviewToFront:loader];
[tvImageView setHidden:YES];
[loader setHidden:NO];
[loader startAnimating];
//[loader performSelectorInBackground: @selector(startAnimating) withObject: nil];
}
else {
//[loader performSelectorInBackground: @selector(stopAnimating) withObject: nil];
[loader stopAnimating];
[loader setHidden:YES];
[tvImageView setHidden:NO];
}
}
我试图左右逢源,以“启动加载器”,将performSelectorInBackGround
三通和简单[loader startAnimating]
三通。他们都没有真正的工作。有趣的是,tvImageView也不会隐藏。
我想我错过了一个基本步骤(类似重绘/重新显示,我不知道),我只是似乎无法弄清楚我自己:(
任何帮助,的窍门,提示veeeery赞赏
欢呼
SAM
啊,我不使用核心数据..不幸的是, – samsam 2010-12-17 10:34:29