我有一个视图显示在navigation controller
. 我subview
在导航控制器的视图中添加了一个,以便它覆盖除navigation bar
自身之外的所有正在显示的视图。子视图已添加,如 - ' [self.navigationController addSubView:mySubView];
'
在对 的某些操作上subView
,我想按顺序执行以下操作-
- 用动画弹出当前
view controller
导航栈,然后。 - 弹出视图控制器并且动画完成后,
subview
从导航控制器视图中移除
我需要这样做的原因是我需要在删除子视图之前显示导航栏标题的动画。
所以我想完成导航控制器动画的事件,然后删除子视图。
viewDidAppear
,viewWillAppear
或者navigationController:didShowViewController:animated:
没有帮助,因为 subView 覆盖了导航堆栈上的底层视图,并且这些方法永远不会被调用。
目前我只是在延迟希望动画完成后删除子视图。但我知道这不是做我想做的事的可靠方法。
有没有其他方法可以完成我需要的事件序列?