我在自定义UITableViewCell中创建了一个按钮。我想在点击该按钮时知道该按钮所在的cell在TableView中的行数。 就是cell的 indexPath.row 请问如何操作。
大家告诉我的两种方法都很好。 自己小结下,方便以后的朋友查阅:
-(IBAction):(id)sender{
//方法一:
NSLog(@"MyRow:%d",[self.table indexPathForCell:((TableViewCell*)[[sender superview]superview])].row); //这个方便一点点,不用设置tag。
//方法二:
NSLog(@"MyRow:%d",((TableViewCell*)[[sender superview]superview]).tag); //这个需要加载cell时设置tag.不过也很方便。
}
//方法三:
在自定义的UITableViewCell增加一个属性,用于保存row的值,在cell加载时设置进来。实际就是方法二。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
Mycell *cell = (Mycell*)[tableViewdequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[[NSBundlemainBundle]
loadNibNamed:@"Mycell"
owner:self options:nil] objectAtIndex:0];
}
cell.row = [indexPath row];
}