每个TableView Cell都有一个图像,有些是`hidden`,如何测试它们是否都不被隐藏?

时间:2013-01-04 05:42:58

标签: iphone objective-c ios cocoa-touch uitableview

在我的应用程序中,我有一个表视图,每个行/单元格上都有一个imageView。每个imageView已经为其分配了图像,每个imageView的.hidden属性都设置为YES,直到用户另行指定。我的问题是:我如何测试以查看是否有任何图像hidden /未隐藏。如果1个单元格有可见图像,我想调用方法。如果所有的图像都消失了,我想发布一个不同的方法,任何想法?

我正在尝试以下方面:

if ([self.hand.showBadge boolValue] == YES) {
    self.handView.hidden = YES;
}
else{
    self.handView.hidden = NO;
}

但不幸的是它没有用。

谢谢!

1 个答案:

答案 0 :(得分:2)

一种方法是在单元格中标记imageView,然后根据需要使用该标记迭代单元格。

在tableView:cellForRowAtIndexPath中,添加:

myImageView.tag = MY_CELL_IMAGEVIEW_TAG;

或者,如果使用故事板,您可以在原型单元格(或静态单元格)中为图像视图设置标记。

然后,如果要检查可见单元格,请在要检查图像视图的位置插入以下代码。

BOOL cellImageViewsAreHidden = YES;

for (UITableViewCell *cell in self.tableView.visibleCells) {
  UIImageView *cellImageView = [cell viewWithTag:MY_CELL_IMAGEVIEW_TAG];
  if ([cellImageView isHidden] == NO) {
    cellImageViewsAreHidden = NO;
    break;
  }  
}

(cellImageViewsAreHidden) ? 'method for all hidden' : 'method for not all hidden' ;