【发布时间】:2016-11-04 12:38:38
【问题描述】:
我想在 ViewController 由于呈现新的 ViewController 而不再可见时处理代码。
我不能使用 ViewWillDisappear 等,因为从技术上讲,控制器从未从堆栈中解散 - 你只是看不到它。
当控制器不再可见(即最顶层)和控制器再次可见时,我可以使用什么进程来运行代码?
编辑: 这里似乎有些混乱 - 不知道为什么。 我有一个视图控制器。 我使用下面的代码来展示另一个控制器
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let navController = storyboard.instantiateViewControllerWithIdentifier("NavController") as! UINavigationController
let thisController = navController.viewControllers[0] as! MyController
self.presentViewController(navController, animated: true, completion: nil)
此控制器不会在前一个控制器上触发 viewWillDisappear,因为前一个视图没有被删除 - 只是隐藏。
当这个视图被隐藏(即不可见)时,我需要处理代码,更重要的是,当它再次可见时处理代码。
【问题讨论】:
-
在这里详细说明。
-
请提供更多细节,说明您希望在演示控制器被不同的 VC 覆盖时继续执行什么样的任务。另外,详细说明为什么 viewDidDisappear 不能解决问题
-
不确定如何详细说明——我展示了一个视图控制器,它涵盖了前一个控制器,当这种情况发生时我需要前一个控制器来处理代码(实际上我可以以某种方式处理)——问题是当原始控制器再次可见时如何处理代码
-
你能把截图放在这里吗?
-
啊,您是在用
UIModalPresentationOverCurrentContext介绍新的UIViewController吗?
标签: ios swift2 presentviewcontroller viewwilldisappear