2013-07-29 40 views
3

我的團隊正在開發一個具有UITabBarController的應用程序。我們正在使用Storyboard來開發界面和流程。UITabBarController爲TabBar的每個ViewController提供不同的Storyboard文件

由於我們是一個團隊,我們無法將所有流程放在一個故事板中,因爲這會導致與SVN同步時出現問題。所以,解決方案是to put each tab`s flow in one different storyboard file

如我們在this tutorial中看到的,當我可以創建一個對象來執行連接(例如按鈕)時,故事板之間的連接不成問題。

但是,當我把UITabBarController放在一個故事板中時,我無法管理底部欄的視圖元素(tabBar本身),從而以編程方式設置將爲tabBar的每個按鈕顯示的故事板。

現在,我擁有的TabBar,並在同一.storyboard文件UIViewControllers我們可以看到:

enter image description here

所以我需要的是通過一個的UITabBarController不同的故事板連接。怎麼做?

+0

首先爲Xcode使用bitbucket或git SVN就像啤酒和葡萄酒一樣,然後解決故事板的衝突。 – Radu

+0

我們不使用xcode同步文件。我們使用xcode以外的其他工具 –

+0

我知道這是非常糟糕的做法 – Radu

回答

3

你有點錯過了故事板的意思,這是讓你看到應用程序的結構和視圖控制器之間的關係。

聽起來好像你沒有從使用標籤欄控制器的故事板獲得很多好處,所以它可能是有意義的,以編程方式設置,它可以讓你實例化每個視圖控制器使用不同的故事板。

或者,您可以在一個故事板中爲每個導航控制器包含標籤欄控制器,任何必需的導航控制器和根控制器,然後讓這些根控制器中的每一個從其他故事板加載後續視圖控制器。

+0

感謝提示@Caleb。我贊同你。你可以幫我用代碼來設置uitabbar的編程方式,並引用與其他.storyboard文件中的ViewControllers的連接。我將不勝感激。 –

+0

這並不難,只需創建您的視圖控制器並使用控制器陣列創建一個新的標籤欄控制器。檢查文檔。如果您遇到問題,請發佈您的代碼。 – Caleb

+0

這些問題和他們的答案不同意你的第一點@Caleb http://stackoverflow.com/questions/18710757/too-many-views-in-storyboard-xcode-running-slow http://stackoverflow.com/questions/ 20943892 /使用多故事板與tabbarcontroller – Chucky

3
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Yourstoryboard" bundle:nil]; 

UINavigationController *thisController = [storyboard instantiateViewControllerWithIdentifier:@"YourID"]; 

mytabBarController.viewControllers = @[phoneViewController]; 

我還是覺得你應該使用git:)

2

你可以用故事板的引用,讓您的應用程序的部分單獨和個人故事板文件。使用UITabBarController只需按下引用鏈接,並確保在新的Storyboard中將UITabBarItem添加到ViewController中。 enter image description here

+0

這是真的,但只有> = iOS 9 :) –

相關問題