我在像这样的函数调用中本地显示了一个警报视图......
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];
但我没有回答是或否。在一个序列中,我弹出了从外部显示警报的视图,但警报视图仍然存在,我通过将警报视图设置为ivar来处理它。这是正确的方法吗?或任何其他方式来处理这种序列?为什么警报视图在弹出父视图后仍然存在?
答案 0 :(得分:3)
是的,如果视图控制器显示警报视图,则它负责删除警报。
视图控制器可以通过某些不是由用户触发的事件消失,它必须确保警报视图被解除。因此将其存放在伊瓦尔中似乎是合适的。我使用弱ivar,因为没有必要在视图消失时保留视图。
答案 1 :(得分:0)
通过在viewWillDisappear
[alert_local dismissWithClickedButtonIndex:alert_local.cancelButtonIndex animated:YES];
注意: - 在.h文件中声明UIAlertView