【问题标题】:is possible to remove previous alert view?可以删除以前的警报视图吗?
【发布时间】:2014-01-11 19:55:57
【问题描述】:

我在一种方法中创建了两个 UIAlertView 视图。如下代码

-(void) alert{
UIAlertView *alert_1 = [[UIAlertView alloc] initWithTitle:@"Message" message:@“Alert 1” delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert_1 show];

UIAlertView *alert_2 = [[UIAlertView alloc] initWithTitle:@"Message" message:@“Alert 2” delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert_2 show];
}

调用此方法后。 iPhone 应用程序将出现 2 次弹出窗口。

首先出现的是alert_1,然后消失alert_1并出现alert_2

用户在 alert_2 中按下确定按钮后会出现 alert_1

当出现alert_2

时应移除alert_1

可以删除以前的警报视图吗?

【问题讨论】:

    标签: ios uialertview


    【解决方案1】:

    发送消息- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated 到 alert1。

    【讨论】:

      【解决方案2】:
      UIAlertView *alert_1 = [[UIAlertView alloc] initWithTitle:@"Message" message:@“Alert 1” delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
          [alert_1 show];
      [alert_1 dismissWithClickedButtonIndex:0 animated:YES];
      UIAlertView *alert_2 = [[UIAlertView alloc] initWithTitle:@"Message" message:@“Alert 2” delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
          [alert_2 show];
      

      【讨论】:

        【解决方案3】:

        我不清楚您的要求是什么。但是据我了解,您希望先弹出警报_2,然后单击“确定”按钮,您想关闭该警报视图并弹出警报_1

        - (void) alertview
        {
            alert_1 = [[UIAlertView alloc] initWithTitle:@"Alert 1" message:@"Message" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
            [alert_1 setTag:1];
            alert_1.delegate = self;
        
            alert_2 = [[UIAlertView alloc] initWithTitle:@"Alert 2" message:@"Message" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert_2 setTag:2];
            alert_2.delegate = self;
            [alert_2 show];
        }
        
        - (void) alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
        {
           if (alertView.tag ==2)
           {
            [alert_1 show];
           }
        }
        

        请注意在您的 .h 文件中声明您的警报视图

        【讨论】:

        • 如果 alertvView 委托为 nil。应该删除预览alertview(alert_1)。从 KudoCC 修复的问题。
        • 好的..我仍然不清楚您面临的问题。但我很高兴你找到了解决方案 :)
        【解决方案4】:

        通过标签或@Property 获取 UIAlertView 并使用此[myAlertView dismissWithClickedButtonIndex:-1 animated:YES];

        【讨论】:

          猜你喜欢
          • 2022-06-25
          • 1970-01-01
          • 2019-08-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-18
          • 1970-01-01
          相关资源
          最近更新 更多