UIAlertView 无法正常工作

Posted

技术标签:

【中文标题】UIAlertView 无法正常工作【英文标题】:UIAlertView not functioning correctly 【发布时间】:2013-04-03 20:51:39 【问题描述】:

我在尝试关闭 UIAlertView 时遇到问题。 UIAlertView 正确启动,并显示两个按钮:“是”和“否”。但是,当我选择是按钮时,什么也没有发生。我想知道我做错了什么,以及为什么选择“是”按钮时没有任何反应。

我的代码如下:

-(IBAction)gotoURL


    [self displaySafariDialogue];



-(void)displaySafariDialogue

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Are you sure you wish to exit this app and launch the safari browser?"
                                                    message:@"Click yes to continue"
                                                   delegate:nil
                                          cancelButtonTitle:@"Yes"
                                          otherButtonTitles:@"No", nil];
    [alert setTag:100];
    [alert show];


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex


    NSLog(@"Alert view button clicked");

    if(alertView.tag == 100)
    

        if (buttonIndex==0)
        
            NSLog(@"Yes button selected");
            NSURL *url = [NSURL URLWithString:@"http://www.google.com"];

            if (![[UIApplication sharedApplication] openURL:url])
                NSLog(@"%@%@",@"Failed to open url:",[url description]);
        
    

【问题讨论】:

【参考方案1】:

您需要设置委托。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Are you sure you wish to exit this app and launch the safari browser?"
                                                message:@"Click yes to continue"
                                               delegate:self
                                      cancelButtonTitle:@"Yes"
                                      otherButtonTitles:@"No", nil];

【讨论】:

啊完美!我不敢相信我忘记将委托设置为自我。谢谢!

以上是关于UIAlertView 无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3.0 中的 UIAlertAction 内的 UIAlertView ?

iPhone iOS8:从 iOS7.1 sdk 构建并在 8.0 及更高版本的设备上运行时,UIAlertView 倒置旋转无法正常工作

UIAlert 需要几秒钟才能显示

关于 UIAlert 跳转到一个 xib

KeyboardWillShowNotification 和 UIAlert

将 UIActivityIndi​​catorView 添加到 UIAlertView