2

我在我的子類ViewController中創建了一個UIButton,並將其添加到我的MainViewController中。將視圖從其他類的按鈕中推送到導航控制器

現在,我添加了一個目標方法到這個按鈕,應該推動另一個視圖控制器到我的導航控制器(在MainViewController中)。

我知道當我按下按鈕時該方法確實會調用,但視圖並未推送到導航控制器。

我掃描此圖 - 這是繪圖(我還添加了我的代碼部分):

question Drawing

這是我用我的按鈕的代碼: (還記得它在一個不同的ViewController)。

- (void)buttonPressed:(UIButton *)sender 
{ 
    Photo_ScreenGlobalView *photo = [[Photo_ScreenGlobalView alloc] init]; 
    [self.navigationController pushViewController:photo animated:YES]; 
} 
+0

請檢查設置您的控制器 – iNeal

回答

2

通常我用代表團解決這些情況。如果有一個從屬於另一個視圖控制器(即「子視圖」控制器),但應該能夠觸發導航改變等等,那麼它應該有一個弱指針回到它的「父」。然後,父VC應該實施一個適當命名的協議,並給孩子使用回調。這些東西的名稱可以是通用的,如@property navigationDelegaterequestNavigationToViewController:,也可以是更多的語義,如@property userFormDelegateuserFormDoneButtonPressed:

一般來說,下屬視圖控制器應該不能直接修改導航在它的父的水平;但它可以通過更加鬆散耦合的接口來觸發它。

+0

感謝您的回答查看插座 - 但你可以請讓我看到如何使用代碼示例做呢?我不明白它到底.. –

+0

如果有人需要它 - 你可以在下面的答案中看到一個指南。 –

-3

我回來讓你們都知道我是如何做到的。 谷歌搜索後很多發現這個不錯的和快速指南如何使代表 和與委託工作解決了我所有的問題。如果你需要任何幫助,請不要猶豫,寄給我PM。

這是指南: http://css.dzone.com/articles/do-not-publishcreating-your

+0

這是我7天前發佈的解決方案。 –

+0

好,謝謝。但並不清楚,本指南更好地解釋了這一點。 –

相關問題