我已经在一个函数调用中显示了一个警报视图…
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