2012-03-28 125 views
0

我被刷新了我的应用程序被阻止。我正在使用Three20框架和TTNavigator。 在某些时候,我想删除并释放所有的视图和viewcontroller(所以有一个空白的屏幕),然后再次分配它们。但我不知道如何做到这一点。在我的didFinishLaunchingWithOptions方法我只是在做这样的:TTNavigator重新启动应用程序内

TTNavigator* navigator = [TTNavigator navigator]; 
navigator.persistenceMode = TTNavigatorPersistenceModeNone; 
navigator.delegate = self; 
navigator.window = self.window; 

TTURLMap* map = navigator.URLMap; 
[map from:@"cc://home" toSharedViewController:[HomeViewController class]]; 
[map from:@"cc://pictures" toViewController:[PicturesViewController class]]; 

我真的不知道如何完全重新启动我的看法和viewcontrollers。 谢谢!

回答

2

这真的取决于谁是您在应用程序中的第一个控制器。 因为三个20需要从某个地方开始,所以不能真正更换第一个控制器。

假设你想要这个能力我建议你做的是: 1.创建一个假根控制器,并让它成为第一个控制器three20使用。 2.在该控制器推动你真正的控制器在堆栈上没有动画。 3.当你想重新启动你的控制器只需弹出所有的控制器(如[self.navigationController popToRootViewControllerAnimated:YES])。 4.捕捉根控制器(假的)关于节目并推送真正的根控制器的事实。

顺便说一句,假设你的根控制器是一个TabController,你总是可以使用tabcontrol上的viewControllers属性替换tab控制器。