是否有方法可以確定是否單擊某個特定視圖的後退按鈕(導航欄)?如果是的話如何?單擊後退按鈕之前處理事件
1
A
回答
0
首先,我自己沒有嘗試過。 我不知道攔截點擊按鈕的方法。什麼「可能」工作如下:有UINavigationBarDelegate,其中包含navigationBar:shouldPopItem:事件。在navigationItem從navigationBar的堆棧中移除之前調用此事件,因此如果處理此事件,則可以執行任何要存檔的操作。
0
「處理事件之前」建議您在用戶離開視圖之前清理或保存狀態。在這種情況下,我會使用viewWillDisappear:或viewDidDisappear :.如果您需要導航回來,導航「前鋒」來區分(如推VC,或呈現模式VC),你可能可以這樣做:
-(void)viewDidDisappear:(BOOL)animated
{
if (!self.parentViewController)
{
// back button pressed/modal VC dismissed/etc, hopefully
}
}
我沒有測試過這,但我的理解是,在Will層次結構改變之前調用「Will」 - 方法,之後調用「Did」 - 方法。
如果你正在保存狀態,你還應該處理UIApplicationWillEnterBackgroundNotification。
相關問題
- 1. 處理硬件後退按鈕單擊
- 2. 單擊後退按鈕後處理GUI
- 3. ASP.NET處理按鈕單擊事件之前OnPreInit
- 4. Zxing處理後退按鈕
- 5. 處理後退按鈕
- 6. 後退按鈕處理wp7
- 7. 處理android後退按鈕
- 8. 處理後退按鈕
- 9. Android - 處理後退按鈕
- 10. 後退按鈕處理
- 11. 可以在Page_Load之前調用按鈕單擊事件處理程序嗎?
- 12. 如何處理退出後單擊「返回」按鈕的用戶
- 13. JavaScript後退按鈕事件
- 14. 事件處理程序事件處理程序不調用上單擊按鈕
- 15. Windows Phone 8後退按鈕事件(OnBackKeyPress)處理?
- 16. 應用程序未打開時處理後退按鈕事件
- 17. 移動瀏覽器的後退按鈕事件處理
- 18. 處理瀏覽器中的後退按鈕事件
- 19. .NET:點擊後退按鈕弄亂我的事件處理程序
- 20. 離子2:生成後退按鈕單擊事件
- 21. 單擊瀏覽器後退按鈕時如何調用事件
- 22. 按鈕單擊處理
- 23. IOS處理事件單擊按鈕在tableView單元格
- 24. Android - 性能處理按鈕點擊事件之間的差異
- 25. history.pushState(),然後單擊後退/前進按鈕
- 26. 單擊事件處理程序與自定義控件按鈕
- 27. 單擊事件按鈕5次點擊後禁用按鈕
- 28. 按鈕單擊事件後觸發Response.Redirect
- 29. Ember組件處理按鈕單擊
- 30. 在VBA中的不同按鈕單擊事件中使用按鈕單擊事件處理程序
OP沒有說明他們是否使用導航控制器。如果沒有,Phlibbo的建議是一個很好的建議;然而,如果有一個導航控制器參與,那麼我不認爲掛鉤導航欄委託是一個好主意,因爲它可能會打破導航控制器。在這種情況下,可能的選擇是使用UINavigationControllerDelegate中的navigationController:willShowViewController:animated:方法。 – Echelon 2010-09-22 14:25:12