UIViewcontroller 在 uinavigationcontroller 堆栈中不可见

Posted

技术标签:

【中文标题】UIViewcontroller 在 uinavigationcontroller 堆栈中不可见【英文标题】:UIViewcontroller not visible in the uinavigationcontroller stack 【发布时间】:2013-12-03 08:56:16 【问题描述】:

在窗口中,我添加了一个 uinavigation 控制器作为窗口的根视图控制器。假设第一个视图控制器是根视图控制器。在这第一个视图控制器中,我以 15 秒的重复间隔触发一个 nstimer 来调用 api 并更新UI。我在视图中正确地使这个触发的计时器失效。一段时间后,比如 150 秒后,我正在推送到另一个视图控制器,比如 secondviewcontroller。

Firstviewcontroller 和 secondviewcontroller 有返回按钮来相应地弹出视图。 在 secondviewcontroller 的视图中确实加载了我已经记录了类名。当导航控制器从 firstviewcontroller 推送到 secondviewcontroller 时,我看到了日志。但是如果我单击 secondviewcontroller 的后退按钮,日志是 [firstviewcontroller backbutton] 和第一个 viewcontroller事件正在运行。即 secondviewcontroller 不可见,然后屏幕变黑。

我的项目已完成。

我知道这可能是个愚蠢的问题,但我真的很头疼!

【问题讨论】:

【参考方案1】:

我以前也遇到过类似的问题。我希望你在 NSRunLoop 中运行 NSTimer。请删除这段代码。

 NSRunLoop *runLoop = [NSRunLoop mainRunLoop];
   [runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
   [runLoop run];

【讨论】:

以上是关于UIViewcontroller 在 uinavigationcontroller 堆栈中不可见的主要内容,如果未能解决你的问题,请参考以下文章

同一个视图控制器中的两个 UINavigationController

当我在 iOS 4.3 中调用 ViewDidAppear 时,它不起作用?

如何在其他 UIViewController 中显示 UIViewController?

如何在通用 UIViewController 之后设置自定义 UIViewController?

iOS:如何在弹出其子 UIViewController 后“刷新” UIViewController?

iPad 应用程序,如何在 uiviewcontroller 之上显示 uiviewcontroller