我的视图显示在navigation controller
中。我在导航控制器的视图中添加了subview
,以便它覆盖除navigation bar
本身之外的所有正在显示的视图。子视图已添加如下 -
'[self.navigationController addSubView:mySubView];
'
关于subView
的某些操作,我想按顺序执行以下操作 -
view controller
然后。subview
我需要这样做的原因是我需要在删除子视图之前显示导航栏标题的动画。
所以我想完成导航控制器动画事件,然后删除子视图。
viewDidAppear
,viewWillAppear
或navigationController:didShowViewController:animated:
没有帮助,因为subView涵盖了导航堆栈上的基础视图,并且这些方法永远不会被调用。
目前我只是在延迟希望动画完成后删除子视图。但我知道这不是一种可靠的方式来做我想做的事。
有没有其他方法可以完成我需要的事件序列?
答案 0 :(得分:2)
导航控制器的子类,并实现委托方法navigationBar:didPopItem:,它在导航栏动画完成后调用。您可以使用该方法删除子视图。