我在自定义单元格中有一个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。点击单元格中的其他位置,但点击按钮不会调用该方法。有什么想法吗?
答案 0 :(得分:1)
点击单元格中的其他位置,但点击该按钮不会调用该方法(didSelectRowAtIndexPath)。
这是设计的。大多数人使用UIButton做一些不同于用户选择行时发生的事情。例如,在Apple的手机应用程序中浏览语音邮件时,点击该行可启用Call Back&删除按钮,同时点击行的蓝色AccessoryDetailDisclosureButton显示一个新的ViewController,显示语音邮件的日期和时间。电话号码。