2013-07-05 40 views
8

對於我的應用程序的設置視圖控制器,我想有一個用戶可以調整一堆選項的表視圖。撥動開關,賽格,步進器等。爲應用程序設置設計表視圖的最佳做法?

完成此操作的最佳方法是什麼?在每個單元遵循簡單佈局的情況下,表格視圖非常簡單。也許是一個標題和一些潛臺詞。但是在這種情況下,根據正在改變什麼樣的設置,單元可能是五種佈局之一。

是處理這個子類的UITableViewCell的最佳方式,並在的tableView的cellForRowAtIndexPath:,返回小區集中像kind喜歡的東西togglelabel自定義屬性之前?然後在該單元格子類的viewDidLoad中根據kind屬性設置單元格?

這是低效的嗎?我是否應該製作一個已經在其上的所有控件但隱藏的單元格,然後根據kind啓用它們?我是否應該爲每種需要不同控件的單元格創建一個子類?

這就是我想如何處理它。但是還有更受歡迎的方式嗎?這是無效的,因爲它不具有從細胞到細胞的必然可預測模式?

+0

我建議InAppSettingsKit中提到的[@Wayne哈特曼的答案](http://stackoverflow.com/a/17495359/795339)。但是如果要從頭開始構建,我會在故事板中創建表視圖,併爲每種不同類型的字段創建一個可重用的原型單元格 - 一個用於文本字段的原型單元格,一個用於開關的原型單元格等等。原型單元格將是'UITableViewCell'的一個不同的子類,並實現一個您定義的協議,其中包含標籤名稱的屬性以及設置字典中用於綁定該字段的鍵的名稱。 –

回答

15

我不喜歡這樣的想法,即如果我不喜歡其中的某些東西,我必須調試其他人的代碼。這就是爲什麼我嘗試自己編寫代碼,然後看看它是否符合我的需求。如果沒有,我會去看看InAppSettingsKit。

你要求的是一個非常簡單的東西,我已經在幾乎所有的應用程序中實現了,即帶有選項的UITableView。

這是我該怎麼做的。你可以直接在xcode中完成所有這些。

  • 創建一個UITableView控制器
  • 使它成爲一個導航控制器。所以,你可以用「設置」字加上它的標題像
  • 將其更改爲靜態細胞
  • 然後將其更改爲分組細胞
  • ,因爲你需要
  • 對於每一個細胞添加交換機作爲創建任意多個組需要
  • 爲每個分組添加頁腳和標題
  • 根據需要在每個選項旁添加漂亮的圖片。

我希望這有助於。這是我的示例項目設置屏幕截圖之一。您看不到我創建的頁眉和頁腳。

enter image description here

+0

你如何得到這樣的右箭頭標記? – Bhargav

+1

@Bhargav在Storyboard中,您可以選擇單元格並將其附件更改爲** Disclosure Indicator **。 –

4

既然您正在使用此設置,您是否考慮過InAppSettingsKit

如果這可能是矯枉過正,我已經採取在故事板中創建一個靜態tableview,我可以佈局每個不同的設置,並在設計時控制其外觀。

相關問題