2013-10-18 48 views
0

我正在使用Storyboard,並且我有20個View Controller,並且它們在角落都有相同的「Settings」按鈕。點擊它會執行一個Segue到另一個VC,我只是爲了回到原來的版本而放棄。以編程方式定義和執行segue

問題是我將不得不從ctrl-drag從所有的風險投資組合,這使得一個非常凌亂的故事板。是否可以實際添加它們?

我試圖提出他們,而不是當我解僱我只是得到一個黑屏。使用下面的;

settingsViewController *settingsVC = [[settingsViewController alloc]init]; 

[self presentViewController:settingsVC animated:YES completion:nil]; 

然後我就這樣解僱;

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

什麼類型的segue是? '定製','推','模態'? –

+0

在故事板中,我使用Modal,這些工作正常,但我想要最小化Storyboard中的箭頭。這個「設置」對於這個presentViewController來說顯得很好,它只是解散爲黑色。 –

回答

2

首先,通過使用ALLOC初始化你完全繞過故事板這就是爲什麼你得到一個黑色的屏幕,故事板添加了UI給它創造settingsVC。

然而,你仍然可以做到沒有殘疾。

首先要做的,在故事板。轉到設置控制器,並在屬性檢查器中給它一個標識符。像「SettingsViewController」。

現在,在你設置按鈕動作......

- (IBAction)settingsButtonPressed 
{ 
    UIViewController *settingsViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SettingsViewController"]; 

    [self presentViewController:settingsViewController animated:YES completion:nil]; 
} 

這將使用故事板創建視圖控制器,這樣你就可以用它來代替所有UI呈現它。

+0

你會如何初始化一個自定義的init方法? –