【发布时间】:2013-12-07 08:24:58
【问题描述】:
我正在构建一个可以在 iOS7+ 上运行的相当复杂的 iPad 应用程序。该应用程序有一个登录屏幕,必须在每个用户会话中访问一次,这是我故事板中的起始视图控制器。用户可以通过触摸一个在所有其他 ViewController 中始终可用的按钮,从应用程序中的任何其他屏幕(大约有 60 个其他屏幕)注销。当用户注销时,应使用自定义过渡动画。
似乎我可以通过以下两种方式之一来实现这一点,要么从应用程序中的每个屏幕到登录页面,这使得故事板无法阅读,要么呈现 ViewController。
我已经用 presentViewController 实现了这一点,通过 id 从情节提要中查找视图控制器(这会创建一个新实例,这是所需的行为),然后从当前视图控制器中呈现它。
毫不奇怪,这并没有关闭原始的登录视图控制器,而是创建了一个视图控制器堆栈,最终我的内存耗尽,因为每次用户注销时,都会创建并保留一个新的登录视图控制器。
有没有办法清除视图控制器的“堆栈”?
是否有不同的方式来呈现视图控制器,带有动画,不涉及 presentViewController 或 segues?我考虑过包含视图控制器,但与情节提要一起使用时似乎不太正确。
【问题讨论】:
标签: objective-c uiviewcontroller ios7 uistoryboard segue