补充杰夫的答案,我认为您必须启用另一个按钮才能在单击按钮时放置您的逻辑。
为了使用您的代码创建按钮:
- (IBAction)button1
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello"
message:@"Do you like smoking?"
delegate:self
cancelButtonTitle:@"Yes"
otherButtonTitles:@"No", nil];
[alert show];
}
但在知道单击了哪个按钮之前,您必须通过调用此委托方法来启用第一个其他按钮:
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
return YES;
}
这将启用您创建的 NO 按钮。然后,您将能够使用 clickedButtonAtIndex 方法执行一些逻辑,我想您将这样做。
实现 UIAlertView 委托方法:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
// i love smoking!
} else if (buttonIndex == 1) {
// i hate smoking!
}
}
请务必在您的标头类中声明 UIAlertViewDelegate。
确保 alertViewShouldEnableFirstOtherButton: 方法返回 YES,否则您将无法输入按下按钮时的逻辑。
希望这可以帮助!:)