我需要将当前选定的UITableViewCell作为其轻敲。因此,当我的手指触摸屏幕/单元格时,我想运行一种方法,我可以从中简单地说出:
selectedCell = cell;
cell
是我刚才点击的那个,selectedCell
是我存储的副本。
我正在使用自定义子类UITableViewCell,这就是为什么我认为我遇到了麻烦。
答案 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可以重复使用的事实