0

Three20 の使用は初めてです。ナビゲーターを使用すると、xcode は常にエラーを報告します:アプリケーション ウィンドウには、アプリケーションの起動の最後にルート ビュー コントローラーが必要です。

ここに私のコードがあります:

TTNavigator *navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeAll;
navigator.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

TTURLMap *map = navigator.URLMap;
[map from:@"tt//view" toViewController:[ViewController class]];
[map from:@"tt//test" toSharedViewController:[TestViewController  class]];
if (![navigator restoreViewControllers]) {
    [navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://view"] ];
}

return YES;

なぜこれが起こったのですか?誰でも私を助けることができますか?

4

1 に答える 1

0

ビューコントローラーの階層がnibファイルによって作成されていないため、以前に同様の問題に遭遇しました。

解決策は、restoreViewControllers への呼び出しの後にルート ビュー コントローラーを手動で設定することです。

TTNavigator *navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeAll;
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
navigator.window = self.window;

TTURLMap *map = navigator.URLMap;
[map from:@"tt//view" toViewController:[ViewController class]];
[map from:@"tt//test" toSharedViewController:[TestViewController  class]];
if (![navigator restoreViewControllers]) {
    [navigator openURLAction:[TTURLAction actionWithURLPath:@"tt://view"] ];
}

// Set the root view controller
[self.window setRootViewController:navigator.rootViewController];

return YES;
于 2012-10-23T21:56:41.520 に答える