簡體   English   中英

如何判斷在UINavigationControllerStack中按下后退按鈕的時間

[英]How to tell when back button is pressed in a UINavigationControllerStack

是否可以檢查何時在UINavigationController堆棧中按下后退按鈕? 我已經嘗試將一個動作和目標添加到self.navigationItem.backBarButtonItem無濟於事。

有人有任何解決方案?

你可以嘗試我的方式:

在ViewController中寫入:

UIBarButtonItem *backBt = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageNameOfBackButton"] style:UIBarButtonItemStyleBordered target:self action:@selector(backBt_touch:)];
self.navigationItem.leftBarButtonItem = backBt;

和行動方法:

- (void)backBt_touch:(id)sender {
  [self.navigationController popViewControllerAnimated:YES];
}

你必須拍一張你想要的后退按鈕的照片。

彈出viewController時隱藏按鈕的動畫與iOS的動畫不同!

P / S: 在此輸入圖像描述 我從模擬器中得到它。 希望它有用! :)

實現此目的的一種方法是覆蓋按下后退按鈕時可見的UIViewController中的viewWillDisappear

- (void)viewWillDisappear:(BOOL)animated {
    if (self.isMovingFromParentViewController) {
        // handle back button press
    }
}

顯然這並沒有直接攔截后退按鈕本身的按鍵,但它讓你有機會在那時執行邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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