我有一个带有3个复选标记按钮的UITableViewCell。每个复选标记按钮都是一个自定义的UIButton (实际上只是图像),并且在自定义的UITableViewCell子类中有一个插座。在cellForRowAtIndexPath方法中,我
[cell.firstcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside];
[cell.secondcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside];
[cell.thirdcheckmark addTarget:self action:@selector(checkmarkPressed:) forControlEvents:UIControlEventTouchUpInside];
- (void)checkmarkPressed:(id)sender {
// how do I get which checkmark was pressed?
}我不确定如何从发送者对象中获取按下的按钮。其他时候,我可以使用按钮的标题,但在这种情况下,除了它们的出口之外,所有的按钮都是相同的。我怎么知道哪个按钮被按下了?或者它们每个都需要调用不同的方法,然后在这三个方法中的每一个方法中,我可以通过从这三个方法中的每一个调用相同的modelUpdateMethod来更新我的模型?谢谢。
发布于 2011-12-13 02:24:30
您可以通过它们的标签来识别它们:
cell.firstcheckmark.tag = 0;然后
- (void)checkmarkPressed:(id)sender {
UIButton *button = (UIButton*)sender;
if(button.tag == 0)
{
...
}
...
}发布于 2012-07-20 17:59:08
我认为您还可以使用:
UITableViewCell *cell = (UITableViewCell *)[[sender superview] superview];它可以获取按钮在哪个单元格中。
https://stackoverflow.com/questions/8478878
复制相似问题