0

私のアプリでは、テーブルビューがあり、すべての行/セルには既に imageView があります。各 imageView には既にイメージが割り当てられており、各 imageView の.hiddenプロパティはYES、ユーザーが特に指定しない限り に設定されます。私の質問は次のとおりです。どの画像がhidden非表示になっているかどうかをテストするにはどうすればよいですか。1つのセルに可視画像がある場合、メソッドを呼び出したいです。そして、すべての画像がなくなったら、別の方法を起動したいのですが、何かアイデアはありますか?

私は次の行に沿って何かを試していました:

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

しかし、残念ながらうまくいきませんでした。

ありがとうございました!

4

1 に答える 1

2

1つの方法は、セル内で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' ;
于 2013-01-04T06:10:13.033 に答える