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?