是的,它一點也不差! -instantiateInitialViewController
是你在找什麼。
一個輔助我傾向於使用是:
- (void) loadStoryboard:(NSString *)storyboardName animated:(BOOL)animated
{
if ([_currentStoryboard isEqual:storyboardName])
{
return;
}
_currentStoryboard = storyboardName;
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
UIViewController* newRootController = [storyboard instantiateInitialViewController];
if (!animated)
{
self.window.rootViewController = rootController;
return;
}
newRootController.view.alpha = 0.0;
[self.window addSubview:newRootController.view];
[UIView animateWithDuration:0.5 animations:^{
newRootController.view.alpha = 1.0;
} completion:^(BOOL finished) {
self.window.rootViewController = newRootController;
}];
}
這種變異被設置爲傾銷地是你的AppDelegate
- 應該是很容易適應大多數情況下,雖然。
我正在尋找加載在故事板中定義的特定視圖控制器,而不是初始視圖控制器。這可能嗎? – 2012-04-25 15:45:44
是的,UIStoryboard上可能幫助你的另一種方法是' - (id)instantiateViewControllerWithIdentifier:(NSString *)identifier'。你可能想考慮把事情分解成多個故事板,但是(如果它在你的上下文中有意義) - 到目前爲止,該模式對我的項目真的很有幫助 – Nevir 2012-04-25 18:13:50