我有一个以编程方式添加到tableview的UIButton。问题是,当触摸它时,我遇到了发送给实例错误消息的无法识别的选择器。 UIButton *alertButton = [UIButton buttonWithType:UIButtonTypeInfoDark];
[alertButton addTarget:self.tableView action:@selector(showAlert:)
forControlEvents:UIControlEventTouchUpInside];
alertButton.frame = CGRectMake(220.0, 20.0, 160.0, 40.0);
[self.tableView addSubview:alertButton];
这是我想在触摸InfoDark UIButton时触发的警报方法:- (void) showAlert {
UIAlertView *alert =
[[UIAlertView alloc] initWithTitle:@"My App"
message: @"Welcome to ******. \n\nSome Message........"
delegate:nil
cancelButtonTitle:@"Dismiss"
otherButtonTitles:nil];
[alert show];
[alert release];
}
谢谢你的帮助。
最佳答案
好的,您有两个问题。
一个是如上所述的选择器问题,但是您真正的问题是:
[alertButton addTarget:self.tableView
action:@selector(showAlert:)
forControlEvents:UIControlEventTouchUpInside];
除非您已将UITableView子类化以响应警报,否则这是错误的目标。
您想要将该代码更改为:
[alertButton addTarget:self
action:@selector(showAlert)
forControlEvents:UIControlEventTouchUpInside];
关于ios - 无法识别的选择器从UIButton发送到实例错误消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6032725/