触摸时选择UITableViewCell

时间:2012-12-06 17:03:28

标签: iphone objective-c uitableview touch

我需要将当前选定的UITableViewCell作为其轻敲。因此,当我的手指触摸屏幕/单元格时,我想运行一种方法,我可以从中简单地说出:

selectedCell = cell;

cell是我刚才点击的那个,selectedCell是我存储的副本。

我正在使用自定义子类UITableViewCell,这就是为什么我认为我遇到了麻烦。

2 个答案:

答案 0 :(得分:13)

只需在您自己的自定义tableview单元格上实现setHighlighted:animated:方法。

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

    NSLog (@"setHighlighted:%@ animated:%@", (highlighted?@"YES":@"NO"), (animated?@"YES":@"NO"));
}

答案 1 :(得分: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];
}

请注意Cell Views可以重复使用的事实