从详细信息视图返回时,从单元格内容视图中删除UIActivityIndi​​cator

时间:2014-06-07 14:34:02

标签: uitableview uiactivityindicatorview

我有一个UITableView,当单击一个单元格时它会从互联网上获取数据,它会显示UIActivity Indicator,然后推送到Detail View控制器。当我点击后面单击的UITableView单元格有一个灰色背景,单元格内容不再存在。

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{       static NSString * CellIdentifier = @" TableCell&#34 ;;    TabelCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

_activityIndicatorCell = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];

// Get center of cell (vertically)
int center = [cell frame].size.height / 2;

int width = [cell frame].size.width / 1.1;

// Locate spinner in the center of the cell at end of text
[ _activityIndicatorCell  setFrame:CGRectMake(width ,center - 9, 16, 16)];

[_activityIndicatorCell setHidden:YES];
[[cell contentView] addSubview:_activityIndicatorCell];


[  _activityIndicatorCell startAnimating];


[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];

}

然后我添加了这段代码来移除UIActivityIndi​​cator,但是我点击的单元格周围仍然有一个灰色的框,我的UILabel内容已经不存在了。

- (void)viewWillAppear:(BOOL)animated {


[  _activityIndicatorCell stopAnimating];
[  _activityIndicatorCell hidesWhenStopped];

[self retrieveData];
}

我还在retrieveData方法中重新加载tableview。

为什么这不起作用的任何想法?

如果我从" numberOfRowsInSection"添加单元格数据它的工作方法,但这是正确的吗?

即使我跑了,小区仍保持灰色并且不会取消选择:

[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];

1 个答案:

答案 0 :(得分:0)

将此添加到did select方法解决了问题:

[cell setSelected:NO animated:YES];