gpt4 book ai didi

ios - 用户按下了 UIAlertView 上的哪个按钮?

转载 作者:行者123 更新时间:2023-12-01 17:31:43 26 4
gpt4 key购买 nike

我创建了一个 UIAlertView现在我想检查用户按下了哪个按钮。

我的代码是:

- (IBAction)button1 {
{
UIAlertView *alert1 = [[UIAlertView alloc] init];
[alert1 setTitle:@"Hello"];
[alert1 setMessage:@"Do you like smoking?"];
[alert1 addButtonWithTitle:@"Yes"];
[alert1 addButtonWithTitle:@"No"];
[alert1 show];
}
}

如何使用 if-else 语句检查它?

最佳答案

您必须设置 UIAlertView 的代表到将处理来自 UIAlertView 的回调的类本身

例如。

[alert1 setDelegate:self];

在哪里 self是您当前的 UIViewController实现协议(protocol) <UIAlertViewDelegate> .

当用户点击一个按钮时, UIAlertView将回调您设置为委托(delegate)的任何对象,在我的示例中,我们使用 UIViewController创造了 UIAlertView .一旦我们得到回调,我们可以检查哪个按钮索引被点击并采取相应的行动。这是在整个 iOS 开发中使用的基本委托(delegate)模式,尤其是 UIKit。

示例
@interface MyViewController : UIViewController() <UIAlertViewDelegate>
@end

@implementation MyViewController

- (IBAction)button1 {
{
UIAlertView *alert1 = [[UIAlertView alloc] init];
[alert1 setTitle:@"Hello"];
[alert1 setMessage:@"Do you like smoking?"];
[alert1 addButtonWithTitle:@"Yes"];
[alert1 addButtonWithTitle:@"No"];
[alert1 setDelegate:self];
[alert1 show];
}
}

#pragma mark - UIAlertViewDelegate

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// Handle interaction
switch (buttonIndex)
{
case 0:
NSLog(@"Yes was pressed");
break;
case 1:
NSLog(@"No was pressed");
break;
}
}

@end

您在头文件或类接口(interface)扩展中指定您的类实现 <UIAlertViewDelegate> 是非常重要的。 .

我建议您查看 UIAlertViewDelegate Protocol Reference有关更多信息,您可以对许多其他 UIKit 组件采用这种方法。

关于ios - 用户按下了 UIAlertView 上的哪个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19503110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com