我希望将viewController保留在内存中并稍后通过示例调用vc3以自定义顺序显示它们,并且在vc6之后再没有初始化它们,它们必须保持相同的状态。我曾经想过要使用navigationController,但我不想要导航栏而且我不是因为我可以按自定义顺序调用viewcontroller。我试图将viewController放在全局数组中,但是当我调用它们时,我有一个错误:'应用程序尝试以模态方式呈现一个活动控制器'。你怎么看待这个,我如何处理我的viewControllers并显示它们而不再重新初始化它们。我一直在听。
我已经读到在IOS中我们必须回收视图,所以我有一个问题。处理循环视图的最佳方法是什么。如果我想为我的用户提供相同的视图而不初始化viewcontroller对此视图负责。如何做到这一点,采用什么是最好的结构选择.. 有一个大的viewcontroller和句柄视图与addsubview removedubview ...或每个视图类型的许多viewcontroller,这里我不知道如何回收和保持我的viewcontroller的跟踪(我不想使用导航控制器)。
答案 0 :(得分:0)
首先,您可以隐藏导航控制器中的导航栏:
self.navigationBarHidden = true
(适用于UINavigationController)
self.navigationController?.navigationBarHidden = false
(对于UINavigationController中的UIViewController)
在你的情况下你也可以存储在全局数组中(但是为此设置帮助类更好),所以当你的UIViewControllers
将在内存中时 - 你可以重用它们。
你的问题与导航有关(好的答案在这里 - https://stackoverflow.com/a/7534019/1830598)。所以你必须通过再次解雇和呈现UINavigationController或者找到另一个解决方案来管理这个订单。
您的用例示例:
UINavigationController
storedViewController
rootViewController
UINavigationController
(已提交)添加代码:self.navigationController?.viewControllers = [storedViewController, self]
UINavigationController
的第二个视图控制器处,按回来后您将转到storedViewController