首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹出ViewController在返回时不会调用viewWillAppear

弹出ViewController在返回时不会调用viewWillAppear
EN

Stack Overflow用户
提问于 2011-07-28 21:39:28
回答 2查看 6.5K关注 0票数 5

每当我手动弹出一个视图控制器时,就不会在现在出现的前一个UIViewController上调用viewWillAppear

这是两个常规的UIViewControllers。我的应用程序设置如下:

代码语言:javascript
复制
- UINavigationController
   - UITabViewController with 5 UIViewControllers including UIViewControllerA
      -UIViewControllerA (When I get back here, viewWillAppear doesnt get called)
        -UIViewControllerB (I'm here, I want to pop to A)

我尝试过手动调用viewWillAppear,但也没有帮助。会出什么问题呢?我的最后一招是弹出B和A,然后创建一个新的A,并按下它,但这只是最后一招(我假设这会起作用?)

EN

回答 2

Stack Overflow用户

发布于 2011-07-28 21:45:00

UINavigationController的“内部”不能有UITabBarController。这可能就是为什么一些viewWillAppear方法没有被调用的原因。看看这里:Tab bar controller inside a navigation controller, or sharing a navigation root view

票数 3
EN

Stack Overflow用户

发布于 2019-02-21 18:34:34

我创建了这个类来解决您的问题。我已经在我自己的许多项目中使用过它。

只需将其设置为导航控制器的委托,并在视图控制器中实现一到两个简单的方法,这些方法将在视图即将显示或已经通过NavigationController显示时调用

Here's the GIST showing the code

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6859868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档