在自定义单元格中点击UIButton不会调用didSelectRowAtIndexPath

时间:2013-02-11 21:52:27

标签: iphone xcode uibutton didselectrowatindexpath

我在自定义单元格中有一个UIButton,我以编程方式添加:

UIButton *tag = [[UIButton alloc] init];
[tag addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];

这是我的按钮处理程序:

-(void)buttonClicked:(id)sender
{
    UIButton *clickedButton= (UIButton*)sender;
    NSLog(@"Button tapped!", nil);
    self.tagTapped = YES;
    self.tagSelected = clickedButton.titleLabel.text;
}

已注册按钮点击,但未调用主视图控制器中的didSelectRowAtIndexPath。点击单元格中的其他位置,但点击按钮不会调用该方法。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

  

点击单元格中的其他位置,但点击该按钮不会调用该方法(didSelectRowAtIndexPath)。

这是设计的。大多数人使用UIButton做一些不同于用户选择行时发生的事情。例如,在Apple的手机应用程序中浏览语音邮件时,点击该行可启用Call Back&删除按钮,同时点击行的蓝色AccessoryDe​​tailDisclosureButton显示一个新的ViewController,显示语音邮件的日期和时间。电话号码。