2012-03-28 14 views
0

Ich bin auf eine vollständige Aktualisierung meiner Anwendung blockiert. Ich verwende Three20 Framework und TTNavigator. In einem Moment möchte ich alle meine Ansichten und Viewcontroller entfernen und freigeben (also einen leeren Bildschirm haben) und sie dann wieder zuordnen. Aber ich weiß nicht, wie das geht. In meiner didFinishLaunchingWithOptions Methode mache ich nur das:TTNavigator Neustart App innerhalb

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

Ich weiß wirklich nicht, wie vollständig meine Ansichten und Viewcontrollers neu zu starten. Danke!

Antwort

2

Es hängt wirklich davon ab, wer dein erster Controller in der App ist. Sie können diesen ersten Controller nicht wirklich ändern, da drei 20 irgendwo anfangen müssen.

Angenommen, Sie möchten diese Fähigkeit, was ich vorschlagen, tun Sie ist: 1. Erstellen Sie eine gefälschte Root-Controller und haben es der erste Controller Three20 verwendet. 2. in diesem Controller drücken Sie echte Controller auf dem Stapel ohne Animation. 3. Wenn Sie Ihren Controller neu starten möchten, drücken Sie einfach den Controller (etwas wie [self.navigationController popToRootViewControllerAnimated: YES]). 4. Fangen Sie die Tatsache, dass der Root-Controller (Fake One) über die Show ist und drücken Sie den echten Root-Controller.

BTW, vorausgesetzt, Ihr Root-Controller ist ein TabController können Sie den Tab-Controller immer mit der ViewControllers-Eigenschaft auf der Registerkarte Steuerelement ersetzen.