定制化的Cell, 如何获得NSIndexPath

1. 如果button是添加到cell.contentView上面的话,

UITableViewCell *cell = button.superview.superview;

NSIndexPath *index = [myTableView indexPathForCell:cell];

或者

- (IBAction)clickedButton:(id)sender {
 UIButton *button = (UIButton *)sender; 
UITableViewCell *cell = (UITableViewCell *)button.superview; 

UITableViewCell *cell = (UITableViewCell *)button.superview.superview; 

UITableView *tableView = (UITableView *)cell.superview;
 NSIndexPath *indexPath = [tableView indexPathForCell:cell]; 
}

Or shorter:

- (IBAction)clickedButton:(id)sender { NSIndexPath *indexPath = [(UITableView *)sender.superview.superview indexPathForCell:(UITableViewCell *)sender.superview]; }


2. Cell的Tag

 
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[TextFieldCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } [cell setTag:indexPath.row];
-(void)setTag:(int)tag { textRow.tag = tag; }


你可能感兴趣的:(定制化的Cell, 如何获得NSIndexPath)