2012-02-28 135 views
0

我有一個UIViewController,它想通過leftBarButtonItem(並從堆棧中彈出返回到父視圖控制器)執行一些代碼。這個視圖有它自己的子視圖,所以我不能只使用viewWillDisappear。添加一個監聽器到leftBarButtonItem

當用戶按下左側欄按鈕返回超級視圖時,調用自定義方法的最佳方式是什麼?

回答

1

即使有子視圖,您也應該可以使用viewWillDisappear

如果您需要對子視圖執行特定操作,請在viewWillDisappear之間執行。

如果由於某種原因,你必須檢測左邊欄按鈕項目水龍頭最好的辦法是,以覆蓋爲UIViewController實際UINavigationBar與外形相似的UIImageView和實現自定義外形相似左側「後退」按鈕(標準UIButton)。

鏈接自定義按鈕的IBAction爲,然後執行你所需要的任何行動,在那裏,然後

[self.navigationController popViewControllerAnimated:YES]; 
+0

的事情是,當它的子視圖的負荷,不只是當它返回到我的視野中消失它的超級觀點,所以viewWilDisappear就出來了。這種自定義的東西聽起來有點不幸。也許我應該去這個不同的方向... – 2012-02-28 02:20:14

+0

這絕對聽起來像整個方法可以使用一些重新工作,但作爲一個快速解決方案,你可以在viewWillDisappear中運行檢查,以檢查它是否被彈出或子視圖加載。此外,你可以切換到故事板,並使用' - (void)prepareForSegue :(UIStoryboardSegue *)segue sender:(id)sender'方法來定製您的需求。 – 0x90 2012-02-28 02:26:12

+0

我將重新考慮它,但這些都是好主意。謝謝! – 2012-02-28 04:43:26