2014-02-18 47 views
0

我正在構建一個主要顯示tableview的應用程序。在這個tableview中我有一些自定義表格行。表格行充滿了從服務器接收的數據。我從服務器接收多種數據。我將它存儲在數組中。例如,我有三種數組。每個都充滿了從服務器接收的不同種類的數據。見下圖:使用tabbar控制iOS中的tableview數據而不使用storyboard

(NSArray*)carList_ 
(NSArray*)motorcycleList_ 
(NSArray*)bicycleList_ 

我現在得到的實際程序,只顯示在tableview中的carList。在carList中的Foreach汽車中,有一個表格行。

我想要做的事情有點棘手。我想用三個按鈕在屏幕底部添加一個標籤欄。當我按下第一個按鈕時,我想讓表格填充carList。當我按下第二個按鈕時,我想用摩托列表填充表格。當我按下第三個按鈕時,我想用bicycleList填充表格。

正如你所看到的,我將使用相同的tableview。我只會用我想看到的數據填充它。 這是允許在iOS?原因我讀了一些關於tabbar是用於多個視圖的信息,我只想用它來改變表格中的數據。只有我計劃未來發展的第四個按鈕纔會開啓一個新視角。如果不允許,那麼做什麼是好的選擇?按鈕可能?我在網上搜索了我想要做的事情,但似乎我的想法以前從未使用過,我認爲我的想法在iOS中是不允許的。

在這一刻我有一個initialViewController(幾乎沒有代碼,因爲它只用於初始化服務器的一些東西,它像一個閃屏一樣),我有一個rootViewController來完成工作。在rootViewController中,我得到了Table with Table行,它具有不同的數據數組,它們是在加載rootViewController時調用的方法檢索的。

我沒有Storyboards編程,因爲我想編碼,我想了解它是如何工作的「地下」。如果允許我想要使用它,什麼是實現TabBar的好方法?我不認爲一個標準的選項卡控制器將工作,因爲我只與一個視圖工作。

回答

1

當然,您可以使用UITabBar解決方案。然而,這可能不是很有用,這不是UITabBar背後的想法。您可以實例化每個選項卡的相同TableViewController。在這種情況下,您可以使用相同的類,但當用戶在選項卡中循環時,您可以使用該類的實例。這將意想不到地浪費記憶。

你的描述聽起來像一個UIToolBar,裏面有一個UISegmetenControl,可能更適合你的需求。你也可以把它放在屏幕的底部,你的數據只需要一個TableViewController。

+0

使用UIToolBar。很棒!感謝您的幫助! –

0

UISegmentedControl設計用於在不同數據表示之間切換。它也常用於表格數據源之間的切換。但它經常在的頂部出現。看看排行榜的應用程序商店應用程序。

標籤欄旨在爲每個標籤呈現不同的視圖。這裏有進展的步驟來實現你的結果:

  • 使用不同實例爲每個標籤
  • 配置各實例用於顯示一個特定的陣列,這取決於標籤的位置
  • 保持陣列表視圖控制器在外部(外部表格視圖控制器)存儲中,實例應該有權訪問它
  • 在用戶正在檢查活動選項卡時預先加載數據會更好。因此,在表視圖控制器之外加載數據,可能在AppDelegate。數據可用時使用通知更新表格視圖。
相關問題