2012-07-28 47 views
9

我們公司正在爲iPad開發一個相當大的應用程序。最終,我們希望能夠爲每個客戶(租戶)以及甚至每個用戶(該客戶)定製UI。我們從HTML5開始,但正在轉向原生。Dynamic Storyboard或Xibs/Nibs

我已經做了一些關於從服務器(甚至是生成的XIB/NIB文件)下載XML並將它們動態添加到您的應用的閱讀。

現在,隨着iOS 5(甚至更多6)故事板扮演着重要角色。

我的問題:
- 使用(多個)故事板或XIB會更好嗎?
- 如果我想提供動態用戶界面,那麼對於這兩種選擇我有哪些選擇?

我不是在尋找一個神奇的藥丸,也不是討論HTML5與本機,只是關於如何提供動態接口的一些信息,以及哪些技術可以幫助實現。

+1

甚至不要惹IB。在編程的某個時刻,當你不得不停止拖動那些漂亮的視圖並且不得不坐下來寫代碼時,這個尷尬的時刻就來臨了。 – 2012-08-01 19:29:28

+0

無法真正談論它,但請查看以下鏈接:https://developer.apple.com/library/prerelease/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html#//apple_ref/OCC/CL/NSAttributedString – 2012-08-04 06:10:02

回答

8

我對你的兩個問題的迴應是:

  1. 故事板是偉大的現場管理;它創建了您的各種場景/視圖之間的視覺連接。我更願意儘可能多地使用故事板。然而,有些元素是我在某些應用程序中挑選現有或可重用的 或其他動態XIB。我只需將這些與我的故事板結合在一起,在我想要的位置加載 代碼中的XIB。所以,我對你的 第一個問題的最終答案是「both」,其中故事板在可能的情況下使用,並且XIB用於 動態場景/視圖。

  2. 動態用戶界面的選擇包括至少以下兩個選項(其中,如上所述,我喜歡第二):

    1. 創建使用XIB文件的所有代碼,並執行所有用戶界面的轉變沒有代碼的故事板 ,你知道會保持相對靜止在故事板viewControllers之間的關係 方面
    2. 創造儘可能多的用戶界面,然後使用initWithNibName加載UI 的動態部分:捆綁:

最後,你可以,如果情況需要使用多個故事板,這甚至可以適用於動態UI,無論是來自於故事板別處創建可重用的組件和單獨維護,或者故事板的XML(如果您看故事板的源代碼,它只是XML的底層),無論是從產生的東西或任何地方獲得。你甚至可以決定在設計階段用多個故事板管理你的用戶界面,如果你的應用程序有幾個複雜的相互連接的視圖控制器場景(例如,UITabBarController中的每個選項卡都有自己的故事板,每個故事板的場景rootController連接/選項卡被選中)。

1

StoryBoard一路!我用絕對不喜歡的故事板,但後來我習慣了他們,現在我愛他們。故事板是要走的路。