0

AppDelegateで作業して、アプリのビューがバックグラウンドから来るたびに最初のビューに戻るようにしています。

まず、最初のビューコントローラーとしてナビゲーションコントローラーをIBに設定しました。それにもかかわらず、私が置くなら

if (!self.window.rootViewController.navigationController)
NSLog(@"null rootview navcontroller");

appDidFinishLaunchingでNSLogが発生し、ウィンドウのナビゲーションコントローラーがnullであることを示します。だから、私はそれを自分でインスタンス化してみると思いました:

self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.window.rootViewController];

しかし、それを試してみると、エラーが発生します。

Pushing a navigation controller is not supported

私は本当に理解していないことを告白しなければなりません。私は何もプッシュするべきではありませんか?

ありがとう!

4

1 に答える 1

0

ナビゲーションコントローラーが最初のビューコントローラーである場合はself.window.rootViewController、ナビゲーションコントローラー自体である必要があります。

のタイプrootViewControllerはUIViewControllerであるため、必要に応じてキャストする必要があります。

于 2012-08-17T18:19:02.240 に答える