我有某种情况要解决:
我有一个UIViewController
负载。在特定条件下,我选择UIViewController
在导航堆栈中显示一个新的顶部。之后,我想将前一个保留UIViewController
在堆栈中,但是要进行排序release
,因此当顶级VC弹出到第一个时,我发现它不是处于离开状态的状态,而是好像它只是推。
但是,我知道我可能只想将其推到第二个VC之上,但这会在导航堆栈中造成混乱,并可能会导致这种行为循环,从而导致内存泄漏。
我正在使用ARC,并为iOS 6及更高版本构建应用程序。
我认为您有两种选择:
viewWillAppear
如果第二个视图控制器从导航堆栈中弹出,则在第一个视图控制器中调用,因此您可以在该方法中重置第一个视图控制器的所有状态和UI元素。setViewControllers:animated:
的方法UINavigationController
,以取代在导航堆栈中一个新的实例的第一个视图控制器实例。因此,这取决于您是否要保留第一个视图控制器实例并仅对其进行“重置”,还是要在从第二个视图控制器返回时将其作为“新鲜”实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句