0

我在完全刷新我的应用程序时被阻止。我正在使用 Three20 框架和 TTNavigator。在某个时刻,我想删除并释放我所有的视图和视图控制器(所以有一个空白屏幕),然后再次分配它们。但我不知道你是怎么做到的。在我的 didFinishLaunchingWithOptions 方法中,我只是这样做:

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]];

我真的不知道如何完全重启我的视图和视图控制器。谢谢 !

4

1 回答 1

2

这实际上取决于谁是您在应用程序中的第一个控制器。你不能真正改变第一个控制器,因为三个 20 需要从某个地方开始。

假设你想要这个能力,我建议你做的是: 1. 创建一个假根控制器,让它成为第一个控制器 three20 使用。2. 在该控制器中,将您的真实控制器推入堆栈,而无需动画。3. 当你想重新启动控制器时,只需弹出所有控制器(类似于 [self.navigationController popToRootViewControllerAnimated:YES] )。4.抓住根控制器(假的)是关于表演的事实并推送真正的根控制器。

顺便说一句,假设您的根控制器是 TabController,您始终可以使用 tabcontrol 上的 viewControllers 属性替换选​​项卡控制器。

于 2012-03-29T12:16:53.613 回答