0
[PersonListNav pushViewController:plist animated:FALSE];Hi there! :) Googling this has returned no luck...

要するに、メインのxib内でインスタンス化されるUINavigationController(PersonListNavという名前)があります...

plistという名前のカスタムビューコントローラーもあります。

電話する:

[PersonListNav pushViewController:plist animated:FALSE];

私のアプリデリゲートのdidFinishLauchingWithOptionsメソッド。

それはうまくいきます!1つを除いて...「RootViewController」というタイトルの戻るボタンがあります。それで、「わかりました。IBは私のために独自の空のビューをプッシュしているに違いありません。私がする必要があるのは、最初にそれをポップすることだけです...」

次のコードを試しました。

[PersonListNav popViewControllerAnimated:FALSE];
[PersonListNav pushViewController:plist animated:FALSE];

同じことが起こっていたことを見つけるために。

最後のテストとして、2つの呼び出しを逆にしてみました。

[PersonListNav pushViewController:plist animated:FALSE];
[PersonListNav popViewControllerAnimated:FALSE];

それは私が期待するように機能します-plistビューコントローラーは表示されません-この「ルートビューコントローラー」は現在表示されているビューです。

つまり、これが私のジレンマです。このルートビューコントローラをスタックからポップして、他のものに置き換えることはできないようです。プログラムでplistをルートコントローラーにする方法を教えてください。

ありがとうございました!

4

2 に答える 2

1

あなたdidFinishLaunchingWithOptions が初期化するときPersonListNav

以下をせよ

//set root view controller to plist controller
PersonListNav *nav = [PersonListNav initWithRootViewController:plist];
self.window.rootViewController = nav;
于 2012-06-11T21:14:35.973 に答える
0

didFinishLaunchingWithOptionsでは、rootViewControllerを使用してnavigationControllerを作成していますが、カスタムView Controllerを使用して作成するだけで、rootViewControllerは必要ありません。設定されているデフォルトのコードを使用していますか?

于 2012-06-11T21:13:17.720 に答える