我想知道是否使用.xib文件繪製/與用戶界面交互是一種好的做法。使用xib文件有什麼好處?如果我不使用它,只需初始化一個viewcontroller並在硬代碼上繪製/定位對象是一種最佳實踐?有什麼好處?我正在考慮它,因爲有一些配置無法在.xib中完成,只能用硬代碼完成。製作一個通用的應用程序,國際化是更好的使用.xib還是可以在硬代碼中完成所有工作?謝謝。是否最好使用.xib文件?
回答
我不認爲這是「最佳實踐」的問題。如果你有一個相當複雜的佈局,其中有許多子視圖需要放置在彼此之間的特定關係中,那麼在xib或故事板中做起來要容易得多。對於通用應用程序,您通常會爲iPad和iPhone版本分開安裝xib或故事板。就國際化而言,與此相關的許多問題都可以通過佈局約束來處理(例如自動更改標籤的大小),並且在WWDC 2012的演講「通過示例進行自動佈局」中對此進行了討論。
這取決於需求和需要。
大部分時間IB都滿足您的要求,所以不需要爲所有GUI工具編寫代碼,但您應該知道如何從代碼創建GUI。
對於iphone,您可以覆蓋您的所有需求,但使用macos一個大型控件和嵌套控件會讓您陷入困境。
因此,它最終會讓你感覺更簡單。
謝謝你的回答。這有助於我打開關於xib文件的想法。 – 2013-02-15 17:53:53
我認爲這取決於你想完成什麼。現實是你想要使用所有可用的工具。
您可以使用故事板更快更輕鬆地創建UI,而不是試圖在代碼中找出它。您無需重新編譯即可獲得即時反饋。有時看起來更容易些,而不是想象它會是什麼樣子。
這並不意味着你不應該知道如何在代碼中做同樣的事情。如果你不能在xib/storyboard中做到這一點,我只會回到代碼。
什麼配置你無法做到?使用IB進行國際化非常容易。在IB上有一些很棒的WWDC視頻,故事板和國際化。在排除你可以或不可以做的事之前,我會先檢查一下。
xib中沒有元素的所有屬性,所以您需要自己在代碼中設置它。但我認爲它有點混亂添加對象,併爲xib中的所有對象創建IBOutlet。這是真的,它很容易看到UI和定位元素。我只是想走一條很好的方法來做一個好的結構,從項目到沒有遇到很多問題 – 2013-02-15 17:40:58
我會親自使用Storyboard創建它來代替xib。通過故事板,您可以通過編程方式生成界面,遊戲等。您還可以在XIB中創建任何可以在故事板中使用的UIElement。
是的,我也喜歡故事板。但它僅與iOS 5+兼容,我仍然擔心使用iOS 4.0+ – 2013-02-15 17:15:54
的用戶是真實的。爲了向後兼容,您不能使用故事板或自動佈局或任何這些不錯的功能。 – ApolloSoftware 2013-02-15 17:18:20
謝謝你的回覆。 – 2013-02-15 22:56:29
- 1. 這是最好的表現故事板或.Xib文件?
- 2. 是否可以更改xib文件?
- 3. 是否有XIB文件限制?
- 4. 是否有可能在cocos2d中使用xib文件
- 5. 創建使用XIB文件
- 6. 爲什麼不使用XIB文件的好理由?
- 7. 在iOS編程中使用Storyboard而不是xib文件有什麼好處?
- 8. 使用formbuilder是否很好?
- 9. 是否在不同的視圖控制器中使用nib/xib文件?
- 10. 使用ParallelForeach處理文件。這是最好的方法
- 11. 使用NSView加載Xib文件
- 12. Monotouch 5之後使用XIB文件
- 13. 使用XIB文件加載UITableViewCell子類
- 14. 如何使用Xib文件創建UIViewController?
- 15. 在three20項目中使用xib文件
- 16. 在xib文件中使用UIpickerview
- 17. 什麼是複製xib文件的最佳方法?
- 18. 使用.settings存儲控件的文本數據是否好?
- 19. 如果使用Mercurial或Git,經常提交文件是否好?
- 20. FileStream:如何檢查文件是否準備好,未使用?
- 21. 是否最好在文件系統或非RDBMS上存儲圖像和文件
- 22. 如何驗證PDF文件是否「好」?
- 23. 是否可以讀取XIB文件的xml數據
- 24. 我是否需要在.xib文件中發佈靜態uiviews?
- 25. 是否可以直接編輯XIB文件的XML?
- 26. 在Xcode 4.3.3中重命名.xib文件是否正確?
- 27. 重用UI(xib文件)
- 28. 檢查一個值是否在文件中:最好和最快的練習?
- 29. 用於XIB文件的iOS Localizable.strings文件?
- 30. 在Java中使用WRITING文件的最好/最簡單的類是什麼?
所以你認爲使用xib幫助更多,然後沒有?我知道它的佈局簡單。我認爲最好的做法是因爲應該規劃一個普遍的國際化項目。而一些屬性不能在xib文件中設置,所以我需要設置其他屬性的硬代碼(視圖控制器)..它不會讓應用程序更困惑?這就是爲什麼我試圖創建我的perspect使用或不使用xib文件不渴望面對許多問題。 – 2013-02-15 17:30:39
@JuanMunhoesJunior,很難說不知道你的項目的具體細節。我認爲將xib或storyboard與代碼混合不成問題。使用兩者都是很常見的做法。您可以在xib中完成大部分佈局,並且只添加那些代碼中無法從xib獲得的內容。 – rdelmar 2013-02-15 17:36:41
我認爲這不是一個好習慣混合xibs/storyboards元素,並將其他屬性設置爲樣式/自定義元素。也正如你所說,佈局約束有很多問題,而沒有xib的通用應用程序將文件分離變得更加困難..所以我開始計劃使用xib文件。謝謝你的解釋。 – 2013-02-15 17:52:09