からナビゲーションコントローラとプッシュの参照を保持することですにはありませんので、最初にdismiss
このサイドメニューを開いてください。新しいビューコントローラ(Bまたはヘルプ)を押してください。私は私のコードを書いていますside menu
を却下した後、現在のnavigation controller
上のメソッドプッシュsetting view controller
上
- (IBAction)settingClick:(id)sender {
SettingViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier:@"settingsScreen"];
[self dismissViewControllerAnimated:NO completion:^{
[self.vc.navigationController.navigationController pushViewController:svc animated:YES];
}];
}
、私はデモのために私のプロジェクトで使用していることをスニペット今、重要なのはself.vc
あり、これはprevious viewcontroller
(ホームの対象でありますあなたのケースでは私が思う)どのサイドメニューが提示されましたか?
は、だから私のSideMenuViewController
は、私が何かのように(ホーム・ビュー・コントローラから、あなたのケースで)以前のビューコントローラからself
で設定しています
@property (nonatomic,strong) UIViewController *vc;
、
SideMenuViewController *smvc = [self.storyboard instantiateViewControllerWithIdentifier:@"sideMenu"];
smvc.modalPresentationStyle = UIModalPresentationOverCurrentContext;
[self presentViewController:smvc animated:NO completion:^{
smvc.vc = self;
}];
そして私のような性質を持っています[self.vc.navigationController.navigationController pushViewController:svc animated:YES];
つまり2つのナビゲーションコントローラを使用しています。これは、新しいビューコントローラをプッシュするためにビュー階層に2つのナビゲーションコントローラがあるためです。
あなたの設定に応じて、あなたが持っているナビゲーションコントローラの数を管理することができます!これが役立つ
希望:)
ナビゲーションコントローラのサイドメニューを押していますか?またはそれを提示する? – Lion
ナビゲーションコントローラーのサイドパネルを提示しています。その後、メニューアクション固有のビューコントローラーがプッシュされます。 –
私の答えをチェック!! – Lion