当标签栏项目选择视图控制器集时调用 viewWillDisappear

Posted

技术标签:

【中文标题】当标签栏项目选择视图控制器集时调用 viewWillDisappear【英文标题】:viewWillDisappear called when tab bar item selected view controller set 【发布时间】:2010-11-12 19:32:44 【问题描述】:

这是场景:

    Window 创建一个标签栏控制器并添加多个标签栏项目视图控制器,顶部视图为UINavigationControllerviewWillAppear 在第一个标签栏视图上被调用。 用户点击第一个选项卡视图上的控件,将视图控制器推送到导航堆栈。 viewWillDisappear 被调用。 用户交互后,视图从导航堆栈中弹出。 viewWillAppear 被调用。 用户点击某些东西会导致另一个视图被推送到导航堆栈上。 viewWillDisappear 被调用。 用户点击某些东西会导致代码在标签栏控制器上设置 selectedViewController。 viewWillDisappear 在第一个标签栏项目的主视图上被再次调用。

有什么想法吗?

【问题讨论】:

【参考方案1】:

我最终通过保留一个 BOOL 来解决这个问题,它会告诉我是否需要执行 viewWillDisappear 工作。丑陋但有效。我希望有更好的解决方案,或者我正在做一些明显错误的事情。

【讨论】:

以上是关于当标签栏项目选择视图控制器集时调用 viewWillDisappear的主要内容,如果未能解决你的问题,请参考以下文章

如何停止加载标签栏项目选择的视图?

如何将标签栏项目中的项目链接到另一个视图控制器

从堆栈释放视图,带有导航控制器的标签栏

有条件地在选项卡栏项后面选择viewcontroller

如何将标签栏项目连接到操作?

以编程方式在点击时选择的 UITabBar 视图