簡體   English   中英

帶有可見導航欄的視圖控制器彈出帶有隱藏導航欄的視圖控制器時帶有interactivePopGestureRecognizer的黑色區域

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM