Navigation ControllerからプッシュするときにNavigation Barを非表示にする方法は?
-
06-07-2019 - |
質問
UIViewcontroller でトップバーを非表示にする方法 pushViewController ? 助けてください?
解決
ナビゲーションバーを非表示にするView Controllerにこのコードを挿入します。
- (void) viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
}
また、必要に応じて、これをそこに貼り付けることもできます。
- (void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController setNavigationBarHidden:NO animated:animated];
}
他のヒント
Swift 3 で行う方法は次のとおりです。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
PSアニメーションを false
に設定すると、プッシュ時に黒いバーが表示されることがわかりました。しかし、 true
に設定すると、シルクのように滑らかになります!
iOS 8の場合 この回避策はうまくいくかもしれません
CATransition* transition = [CATransition animation];
transition.duration = 0.3;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController setNavigationBarHidden:TRUE animated:FALSE];
[self.navigationController pushViewController:productViewObj animated:FALSE];
[productViewObj.navigationController setNavigationBarHidden:TRUE animated:FALSE];
[productViewObj release];
所属していません StackOverflow