当UIAlertView的父视图从外部弹出时,如何解散它



我已经在一个函数调用中显示了一个警报视图…

        UIAlertView *alert_local = [[UIAlertView alloc]
                                    initWithTitle:nil
                                    message:@"Are you sure want to discard what you have recorded so far?"
                                    delegate:self cancelButtonTitle:@"Yes"
                                    otherButtonTitles:@"No", nil];
        alert_local.tag = 4;
        [alert_local show];

但是我没有回答YES或NO。在一个序列中,我弹出了显示外部警报的视图,但警报视图仍然存在,我通过将警报视图设为ivar来处理它。这是正确的方法吗?或者有其他方法来处理这种顺序吗?为什么警告视图在其父视图弹出后仍然保留?

是的,如果视图控制器显示一个警告视图,它负责删除警告。

如果视图控制器可以通过一些不是由用户触发的事件消失,它必须确保警告视图被解散。因此将其存储在变量中似乎是合适的。我使用了一个弱变量,因为它没有必要在视图消失时保留它。

尝试在viewWillDisappear

中添加下面一行
 [alert_local dismissWithClickedButtonIndex:alert_local.cancelButtonIndex animated:YES];    

注意:-在。h文件中声明你的UIAlertView

相关内容

  • 没有找到相关文章

最新更新