我一直在寫iOS應用程序一段時間,並逐漸從完全以編程方式完成UI到密集使用Interface Builder。我現在正在考慮爲我的一些新項目使用新的Storyboarding功能,但我沒有足夠的經驗或知識來計算這樣做的優缺點。 有人可以提供一些關於什麼時候使用Storyboarding的例子或信息,以及何時浪費時間?使用故事板的優缺點?
回答
優勢
- 這很酷 - 設計接口
- 使用
StoryBoardSegues
識別導航/莫代爾關係倜儻的方式 - 如果您的應用支持多種設備,組織不同的好辦法意見(通過故事板文件而不是命名等)
- 好的原型
- 原型
UITableViewCell
可以節省時間,故事板的
缺點
- 這是一個運行時的功能,所以我相信這是隻有在iOS 5中提供
StoryBoardSegues
是一種剛性以我的經驗,你可能利用prepareForSegue
很多- IB一樣,不是很友好的與其他顯示引擎和工具包
- 使它很難分享設計爲一個單一的視圖或設置的意見 - 你必須發送全有或全無
這些似乎那種膚淺的,我想我沒有給它多想......起初我呱 - 關於故事板,但現在我已經恢復到IB或甚至只是程序化的視圖配置...我使用它們越多,我越喜歡它們,它們越覺得像是噱頭/浪費時間。
編輯
我幾年前寫了這個答案。儘管有些觀點可能不再相關(即它需要iOS 5+),但我仍然像以前一樣留給後人。
過了一段時間,我的意見在故事板上沒有改變。正如其他人所提到的,如果您正在獨立開發一個只有很少視圖進行管理的應用程序,那麼它們就沒有問題,但它們與源代碼管理合作成爲一個真正的痛苦。另外,我更喜歡one-file-one-object,故事板顯然將東西捆綁在一起(IB也是如此,但程度較低)。
如果我寫意味着要保持任何時間長度嚴重的一個應用程序,我將與程序的視圖配置去了IB,但絕對IB在故事板。
我有一個和你類似的背景 - 我開始主要以編程方式構建iOS UI,因爲IB不是真正用戶友好的,但最近決定使用IB越來越多,因爲它更好地設計UI和適用於標準元素。
隨着新的Xcode我切換到故事板,因爲他們提供了應用程序的完整視圖。可以在單個文件中生成完整的UI(包含所有視圖),這可用於原型設計,並可在編寫第一個代碼行之前查看我的同事。這比使用Photoshop或類似工具進行設計要好得多。但是,如果你使用了很多自己的UI元素/控件或者使用不同的「引擎」(cocos2d,OpenGL等)的東西,通常以編程方式生成UI會更好,因爲這些「引擎」並不是真正與IB/Storyboards集成。故事板的
與故事板沒有提到的另一個缺點是,合併可能,如果有衝突非常困難甚至是不可能的。
更新:它也發生,我認爲它把邏輯在兩個地方。如果你的segue沒有做正確的事情,那可能是因爲prepareForSegue中的錯誤,或者可能是因爲你錯誤地命名了segue。最終,以編程方式進行事情並不難。
在最新的WWDC(2013)中,Apple Devs強烈建議使用故事板並使用IB內置的東西爲您完成大部分代碼,而不是手工編寫,因爲您更有可能避免棄用並利用功能通過自動轉換更新。
孤單的缺點是允許在故事板的git協作的難度,因爲將在幾乎所有提交的衝突。
如果你是獨自程序員,你應該總是用故事板。
我有以下從raywenderlich網站上的教程學習情節串連圖板,並有一個關於情節提要很多東西。
這裏是鏈接到網站:在您開始開發應用程序,你可以看到應用程序的所有屏幕
1):故事板的http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1
優勢。
2)您可以直觀地看到每個屏幕之間的關係。
3)它可以幫助減少特殊的代碼量在UITableView的情況下,您可以使用原型單元格和靜態單元格來設計故事板中的TableView。
4)如果你必須使用別人的代碼,你可以通過在短時間內觀看故事板來更好地理解應用程序的流程。
5)您可以通過應用故事板中的視網膜形狀因子來設置iPhone 4和iPhone 5的用戶界面,而無需反覆運行應用程序。
6)如果你正在做基於客戶端的工作,那麼有些客戶希望在開始開發之前看到應用的原型,這裏storyboard可以幫助你很多。故事板的
缺點:
1)故事板,您將需要一個大屏幕特別是在iPad上的情況。
2)在將視圖從其他應用程序複製到故事板時,我也遇到了困難。
3)當多個開發人員使用git存儲庫處理同一個項目時,我也遇到了故事板中的問題。
通過閱讀和理解優缺點,您可以判斷自己什麼時候使用故事板。
一個字(請勿) 其中除了git的衝突,使得它不可能兩個或兩個以上的人進行這項工作故事板的最大缺點。而且如果項目變得如此之大,並且你有40個屏幕,如果你瘋了足以在任意視圖控制器中移動任何一個像素,你將擁有非常龐大的編譯時間,你可以構建你的應用程序,並使其運行超過5分鐘,當然,不要讓我從歸檔開始,讓一些特定的應用程序。
經過這段痛苦的經歷之後,我完全墮落成古老的金色大xib文件,並在巨大的火焰中刪除了故事板文件。
- 1. 使用故事板的優點和缺點
- 2. 缺少故事板
- 3. 使用故事板
- 4. 在故事板中使用浮點值
- 5. 使用≠like!=優點/缺點
- 6. 的WinRT XAML故事板是缺少
- 7. 使用故事板的ScrollView
- 8. 使用Arrays.asList的優缺點
- 9. 使用MessageFormat的優缺點
- 10. 使用SetProcessWorkingSetSize的優缺點
- 11. 使用log4j的優缺點
- 12. 使用initWithNibName用故事板
- 13. 用故事板
- 14. 用故事板
- 15. 在Xcode中缺少故事板
- 16. 同時使用故事板
- 17. 無法使用故事板
- 18. 使用presentModalViewController與故事板
- 19. 雙UITabViewControllers使用故事板
- 20. 使用故事板Segges
- 21. DidSelectRowAtIndexPath使用故事板
- 22. 如何使用故事板
- 23. 使用故事板參考
- 24. 傳值使用故事板
- 25. 使用WebServiceHostFactory優缺點
- 26. WPF命令vs事件優點/缺點
- 27. 使用socketio心跳的優點/缺點
- 28. 使用java rmi的優點和缺點
- 29. 使用ReactJS的優點和缺點
- 30. 使用指針的優點/缺點
++ Great !!感謝與我們分享這一點。 – swiftBoy 2014-06-19 07:34:12