2012-05-21 84 views
1

幾周前我剛開始在iOS上編程,所以很抱歉,如果這些問題真的很基礎。iPad上的標籤形式

小故事:我正在設計一個需要捕獲大量客戶數據的CRM應用程序。我試圖模擬使用選項卡式表單的桌面應用程序。在iPad上實現這一點的最佳方式是什麼(技術上和視覺上)?

我需要以下條件:

  • 每個選項卡(其中5-6)包含多種類型,我喜歡使用專門的控制的多個字段(帶有標籤)(例如的UIDatePicker ,uipickerview/uisegmentedcontrol,textarea +步進器,開關等),而不僅僅是原始文本字段
  • 理想情況下(實際上這是一個非常關鍵的要求)UI將不得不以編程方式生成,以便模型的改變不會需要手動調整IB中的表格
  • 能夠在選項卡之間切換而不會丟失已輸入的數據當前標籤。

我到目前爲止的進度,整體切換機構:

  • 我最初被認爲具有作爲分段的控制來實現的選項卡切換器,如在馬提亞註釋here描述不同視圖之間的切換。然而,按需實例化VC意味着丟失已經輸入的數據(除非我實現某種緩存,但我希望更簡單一些)。我正在考慮通過以編程方式顯示/隱藏它們來切換視圖的更簡單的方法,但我恐怕這可能會使用太多的內存(我總共可能看到超過100個字段)。

至於代表每個選項卡中的表單字段:

  • 我可以手動在IB(或靜態細胞在tableview中)佈置它們,但我真的不喜歡這樣做,因爲它基本上意味着UI是硬編碼的並且難以改變
  • 我寧願以編程方式創建接口,但我不知道處理不同字段類型有多容易,附加彈出窗口(例如,用於日期選擇器日期字段),處理現場事件等。

如果有人有任何我可以使用的指針,我會很感激。

TIA, 盧西恩

+0

你使用UITabBarController爲你的基於標籤的應用程序?這些標籤以哪種方式? – Mrunal

+0

是的,我已經使用UITabBarController,但對於應用程序的主要部分,所以它不是一個選項來實現表單標籤作爲標籤欄項目。這就是爲什麼我在看uisegulatedcontroller或類似的東西。表單選項卡必須顯示在子視圖中,而不是全屏。 – lucianf

+0

我建議你使用自定義按鈕,它看起來像UITabBarController。 – Mrunal

回答

0

我認爲你是在正確的軌道與一個視圖控制器上,擁有一個觀點,然後有你需要隱藏/顯示子視圖。

廣義:

  • 一個頂層的UIView,其中包含的標籤按鈕(用於此普通UIButtons),和擁有幾個UIViews
  • 每個UIView的具有所需要的每一個「標籤」
  • 字段

然後切換選項卡,只隱藏一個視圖,並顯示另一個,一切都會好。

我不擔心內存消耗 - 一個iPad有足夠的內存來存儲數百個UI控件,因爲我不指望你會做很多自定義圖形。如果內存不足,則可以根據需要爲每個選項卡創建控件 - 切換選項卡需要更長的時間,但可以工作。

至於程序化鋪設:這是完全可能的。創建iPad UI時有兩個基本選項 - 使用XIB文件(使用XCode中的圖形設計器設計),或者使用代碼執行,通常在-viewWillAppear-viewDidLoad。所有相關的事情都可以完成 - 查看每個UI控件的文檔,找出如何配置它。