[英]Nav Bar Hidden on View Controller On Second and Subsequent Appearances
[英]Black area with interactivePopGestureRecognizer when popping a view controller with visible nav bar to a one with hidden nav bar
我有這個ViewController#1,它是導航控制器的根視圖控制器並具有
self.navigationController.navigationBarHidden = YES;
ViewController#1告訴它的導航控制器推送ViewController#2,它有
self.navigationController.navigationBarHidden = NO;
當我想通過從屏幕左側滑動從ViewController#2返回到ViewController#1時,我看到我的視圖作為我附加的屏幕截圖。 當我向右移動手指時捕捉到這一點,因此當我向右滑動時,右上方的黑色區域變得越來越小,直到ViewController#1覆蓋了所有屏幕區域。
我猜這是由兩個視圖控制器之間的隱藏/可見導航欄差異引起的。
我想知道是否有可能擺脫這個黑色區域。
正如HoanNguyen所討論的,我已經將我的代碼隱藏/顯示在viewWillAppear / Disappear上的導航欄,但最后我發現訣竅是將值設置為動畫。 很奇怪,但這解決了我的問題,黑色區域現在已經消失:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:self.shouldHideNavBar animated:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController setNavigationBarHidden:!self.shouldHideNavBar animated:animated];
}
您應該將您的代碼集隱藏/顯示在viewWillAppear或viewDidAppear中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.