1

私のストーリーボードは次のようになります。 ここに画像の説明を入力

最初の部分はうまく機能します。問題は、「モーダルのテスト」ボタンを使用して、rootViewController を持つように正しく設定された 2 番目の NavigationController をモーダルに表示すると、接続が確立されないことです。

つまり、 UINavigationControllerがそこにあり ( UIWindowの rootViewController から始まるすべてのコントローラーをクエリすることで)、コントローラーも読み込まれますが、navigationController は nil、parentViewController は nil です。UINavigationController にアクセスする方法はありません (したがって、アクセスする方法はありません)。上部のツールバーをカスタマイズします)

2 番目の UINavigationController で「Is Initial View Controller」をチェックすると、機能します (しかし、明らかにそれは私が望んでいるものではありません)。これはUIKitのバグかもしれないと思います。それとも私はそれを間違っていますか?

4

2 に答える 2

4

prepareForSegue メソッドを正しく実装しましたか? これが私のアプリに prepareForSegue メソッドを実装する方法です。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"yourConnectionName"]) {
UINavigationController *navController = segue.destinationController;
YourViewControllerClass *controller = (YourViewControllerClass *)navController.topViewController;
controller.delegate = self;
}
}
于 2012-09-18T08:11:08.867 に答える
2

私はついにこれを見つけました。

[super initWithCoder:decoder]私は初期化で呼び出していませんでした。これにより、いくつかの UIViewController 変数が初期化されていませんでした。それを変更した後、それは魅力のように機能します。

于 2012-09-21T06:02:19.473 に答える