自定义UITableViewCell项目问题

时间:2009-07-16 08:11:21

标签: iphone cocoa-touch uitableview action textfield

我是新手。

我有一个包含3个项目的自定义UITableViewCell:

一个UILabel 一个UITextField 和一个UIButton

我的问题是,如何知道单击按钮的哪个单元格或编辑了textField?

有没有办法跟踪它们?

感谢您的回复。

2 个答案:

答案 0 :(得分:1)

我通常在配置自定义单元格后,将单元格的NSIndexPath保存在状态UIControlStateApplication按钮的标题中。

在tableView:cellForRowAtIndexPath:方法中,配置单元格时:

[theButton setTitle:(NSString *)indexPath forState:UIControlStateApplication];

然后,在你的按钮操作中:


- (IBAction) buttonWasClicked:(UIButton *) senderButton {
    NSIndexPath *indexPath;

    indexPath = (NSIndexPath *)[senderButton titleForState:UIControlStateApplication];

    NSLog(@"Sender button was clicked in cell at NSIndexPath section: %d row: %d ", [indexPath section], [indexPath row]);
}

我对这种方式并不满意。如果有人有更清洁的方法,我很乐意听到它。

答案 1 :(得分:1)

如果您只有一个部分,则可以将indexPath.row存储在button.tag中,并在该按钮触发的操作中检索它。