在开发中有时候会遇到这种情况,在cell中有一个button,我点击了button,但是我有想更改cell中的内容,我怎么在点击事件中获取到当前cell呢,我觉的有两种方法:
1.如果是自定义cell,点击事件在cell中定义,然后通过代理(block)的方式,将这个cell(self)当做参数传递过去,就可以直接操作。
2.如果点击事件是定义在 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;方法中,那么下面这个方法可以帮助你获取到当前cell
- (void) brnClick:(UIButton *)btn
{
UIView *v = btn.superview.superview;
HomeCell *cell =nil;
while (v!=nil&&cell==nil) {
if ([visKindOfClass:[UITableViewCellclass]]) {
cell = (HomeCell *)v;
} else{
v = v.superview;
}
}
NSIndexPath *indexPath = [_mainTableViewindexPathForCell:cell];