如何识别UIView正在被删除,或另一个即将到来?

时间:2013-09-25 06:20:31

标签: ios objective-c

我有一个下载屏幕,我想在退出或更改视图时警告用户。

我找不到合适的方法吗?

如何解决?

谢谢

5 个答案:

答案 0 :(得分:1)

- (void)viewWillAppear:(BOOL)animated  

此方法指示哪个视图将出现在当前视图中。

 - (void)viewDidDisappear:(BOOL)animated

此方法表示视图将被删除。

答案 1 :(得分:0)

您可以使用方法查看 的 viewDidDisappear: 它通知视图控制器其视图已从视图层次结构中删除。

- (void)viewDidDisappear:(BOOL)animated

您可以覆盖此方法以执行与解除或隐藏视图相关的其他任务。如果重写此方法,则必须在实现中的某个时刻调用super。

和 的 viewWillAppear中: 它通知视图控制器其视图即将添加到视图层次结构中。

- (void)viewWillAppear:(BOOL)animated

在将接收者的视图添加到视图层次结构之前以及在配置任何动画以显示视图之前调用此方法。您可以覆盖此方法以执行与显示视图相关联的自定义任务。

答案 2 :(得分:0)

我们可以有不同的方法,如

 - (void)viewWillAppear:(BOOL)animated
 - (void)viewWillDisappear:(BOOL)animated
 - (void)viewDidappear:(BOOL)animated
 - (void)viewDidDisappear:(BOOL)animated

您可以覆盖的任何方法。我们可以在进行/移动之前/之后使用这些方法来查看。

答案 3 :(得分:0)

当视图将被动画化时,视图控制器有一些方法已经提到过。但是,您似乎希望用户在屏幕动画之前确认导航,而不是在用户从视图中设置动画后发布警报。

我建议您创建一个自定义取消或后退按钮,用于在用户尝试退出视图控制器时进行处理。在视图动画关闭之前显示UIAlert并要求用户确认或取消操作。如果用户取消

,则导航或保持当前视图

答案 4 :(得分:0)

viewWillDisappear似乎是正确的覆盖方法 - 让用户有机会在视图消失之前做一些事情。但是,我不认为你可以阻止视图离开,因为viewwillDisappear的文档声明你必须在你的实现中调用super.viewWillDisappear。