1

現在選択されている UITableViewCell をタップして取得する必要があります。したがって、指が画面/セルに触れると、次のような簡単なことを言うことができるメソッドを実行したいと思います:

selectedCell = cell;

cellタップしたばかりで、selectedCell保存したコピーです。

カスタム サブクラス化された UITableViewCell を使用しているため、問題が発生していると思います。

4

2 に答える 2

13

このように独自のカスタム テーブルビュー セルに setHighlighted:animated: メソッドを実装するだけです。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    [super setHighlighted:highlighted animated:animated];

    NSLog (@"setHighlighted:%@ animated:%@", (highlighted?@"YES":@"NO"), (animated?@"YES":@"NO"));
}
于 2013-02-15T16:10:57.493 に答える
1

TouchDown
- setSelected:animated: は、タッチダウン時にセル自体で呼び出されます。セルのデリゲートに通知できます。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
   [self.delegate willSelectCell:self];
}

カスタム セル デリゲートをセルのプロパティとして宣言する

@property id<MyCellDelegate> delegate;

TouchUP
でセルをデリゲートに保存する

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
_selectedCell = [aTableView cellForRowAtIndexPath:indexPath];
}

セルビューを再利用できるという事実に注意してください

于 2012-12-06T17:07:27.693 に答える