如何隐藏静态单元?
如果图像不存在,我想隐藏静态单元格。
我试过了:
imageCell.hidden = YES; //did not work
我已经看到了建议更改数据源或使用的答案:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 0;// will hide all cell
}
但我找不到使用特定视图单元格的方法。
我想要实现的目标:
if(image==nil){
//hide imageCell
}
现在这里是catch,图像是异步下载的,因此在尝试下载之前可能会调用deleguate方法。
答案 0 :(得分:0)
执行以下操作:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 2 && !myImageIsLoaded)
return 0; // Will hide just the third row of your table if myImageIsLoaded is false
return 44;
}
您可以使用以下内容随时为所有动画制作动画(例如,每次加载图片时):
[myTable beginUpdate];
[myTable endUpdate];
如果您的细胞是静止的,那么它应该有效。否则你可能会遇到一些问题。
答案 1 :(得分:0)
如果您希望从字面上隐藏图像不存在的单元格,可以尝试:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
return [cell imageView] ? 44.0f : 0.0f;
}