当UITabBarController从UINavigationController的堆栈中弹出时,有没有办法卸载它,以便在将其推回堆栈时重新加载?我需要清除标签栏中所有视图控制器中的所有数据。
我尝试了各种方法迭代标签栏的视图控制器并将每个设置为nil,并将标签栏的视图设置为nil,并且我还尝试将didReceiveMemoryWarning消息发送到每个视图。
在我的主nib文件(MainWindow.xib)中,我有一个UINavigationController和一个UITabBarController。两者都作为IBOutlets连接到app委托,以便于自动加载控制器,尤其是标签栏控制器。
导航控制器首先加载另一个视图作为其根视图,当用户点击按钮时,UITabBarController被推送到UINavigationController堆栈。
一切正常。
现在我希望能够从导航控制器堆栈弹出UITabBarController,因此会重新显示导航控制器的根视图,并在隐藏时重置UITabBarController中所有视图的所有数据(离开堆栈。)
从标签栏控制器中的一个视图控制器,我可以调用[self.tabBarController.navigationController popToRootViewController:YES]并且工作正常。
但是如何卸载并重新加载所有UITabBarController的视图?
答案 0 :(得分:0)
您应该能够重新启动视图控制器并将它们传递到tabBarController的setViewControllers:方法。