2013-10-28 71 views
0

我有一個iOS 6應用程序,我正在更新以使用iOS 7並使其使用情節串連圖板。我正在嘗試使用多個故事板,以便我可以將我的項目分解爲應用程序中每個屏幕的模塊。到目前爲止,這已經很成功了,但現在我需要提供一種在各種故事板之間導航的方式,同時仍然像在iOS 6中那樣進行工作(但是更新了插圖)。在沒有UINavigationController的情況下鏈接故事板

我在現有的iOS 6應用程序中不使用UINavigationController,我不想使用它作爲到現在爲止,我已經能夠在XIB的使用UIButton輕敲手勢上的代碼之間來回導航。 UINavigationController並沒有讓我們很容易定製導航按鈕到目前爲止我所瞭解的情況。

我發現這個非常乾淨的方式,通過將故事板的名稱作爲屬性傳遞,可以在不同故事板上的視圖控制器之間移動https://github.com/rob-brown/RBStoryboardLink

但它似乎只在使用UINavigationController時才起作用。如果沒有UINavigationController,我得到一個錯誤「Push segues只能在源控制器由UINavigationController實例管理時使用」。

是否有一種方法可以通過僅使用上述RBStoryboardlink在故事板之間導航,但不需要UINavigationController?

回答

1

Push segues can only be used when the source controller is managed by an instance of UINavigationController

這意味着你試圖視圖控制器推到源,而源沒有任何導航控制器stack.In這種情況下,你應該嘗試的實例化視圖控制器的視圖作爲子視圖添加到源視圖控制器的視圖。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *viewController = [mainStoryboard instantiateInitialViewController]; 
[self.view addSubview:viewController.view]; 

或者您模式地存在,這完全取決於您的要求。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *viewController = [mainStoryboard instantiateInitialViewController]; 
tabBarViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
[self presentViewController:tabBarViewController animated:NO completion:NULL]; 
相關問題