0

私は3つのビューコントローラ、、、を持ってvcAvcBますvcC

私はオンにvcAなってプッシュしvcBます。できます。

vcCからプッシュしようとするvcBと失敗します。のself.navigationControllerプロパティはvcBですnil

このプロパティに関するヘルプファイルを読むと、次のように表示されます。

ビューコントローラがナビゲーションコントローラ内に埋め込まれていない場合、このプロパティはnilです。

したがって、vcBおそらくナビゲーションコントローラの内部にはありません。

私の質問は、ナビゲーションコントローラーself.navigationController pushViewController:vcB ...に埋め込むのに十分ですか?そうでない場合、ナビゲーションコントローラーvcBに埋め込むにはどうすればよいですか?vcB

注意:vcAInterface Builder上に構築されておりvcBvcCプログラムで作成されます。

4

2 に答える 2

0

次のようにviewControllerintを定義してみてください。

vcAでvcBを定義する

@property (nonatomic, strong) UIViewController *vcB;

@synthesize vcB = _vcB;

次に、それをスタックにプッシュします。

[self.navigationController pushViewController:self.vcB animated:YES];

vcBでvcCを定義する

@property (nonatomic, strong) UIViewController *vcC;

@synthesize vcC = _vcC;

次に、それをスタックにプッシュします。

[self.navigationController pushViewController:self.vcC animated:YES];
于 2012-11-06T15:54:13.120 に答える
0

3日後、私はついにこの問題を解決しました。

この問題は、viewControllerの1つとnavigationControllerの両方がデリゲートのrootViewControllerアウトレットに接続されていたことです。それを指さないでくれてありがとうXcode!申し訳ありませんが、Xcode4がこれまで以上に嫌いになっていることを改めて言わなければなりません。

この問題の解決策は、私が抱えていた別の問題に関連しており、ここで見ることができます:https ://stackoverflow.com/a/13280574/316469

みんなありがとう。

于 2012-11-08T00:20:15.943 に答える