可能重複:
Find out if user pressed the back button in uinavigationcontroller?檢測,當用戶點擊一個UINavigationController的左側按鈕
我希望當用戶點擊左側按鈕,播放聲音一個UINavigationController(「後退」按鈕)。
我該如何檢測?
可能重複:
Find out if user pressed the back button in uinavigationcontroller?檢測,當用戶點擊一個UINavigationController的左側按鈕
我希望當用戶點擊左側按鈕,播放聲音一個UINavigationController(「後退」按鈕)。
我該如何檢測?
另一種簡單的方法就是推行在viewWillDisappear()您的聲音:
- (void)viewWillDisappear:(BOOL)animated {
//play my sound here
}
或者更魯棒的方法,以保證聲音只有當按下後退按鈕(在您有其他的情況下播放視圖可能從導航堆棧中彈出的方式)是爲UINavigationController創建子類併爲後退按鈕設置一個自定義操作方法。 This page給你一個如何做到這一點的例子。
示例基本上子類的UINavigationController和過乘坐
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
方法被按壓後退按鈕時被調用。
UINavigationController有一個委託,每當視圖控制器即將被推入視圖(以及之後)時被調用。你可以簡單地通過調用這個(例如,在viewDidLoad中)使您的視圖控制器的委託:
[[self navigationController] setDelegate:self];
然後實現在您的視圖控制器的方法navigationController:willShowViewController:animated:
。