2009-11-29 63 views
0

我如何製作這樣的表格視圖?所以如果我打開開關,應該添加2個單元。如何在iphone上的網絡設置應用程序中創建一個TableView?

我已經嘗試過

[tableView numberForRowsInSection:6]; 
[tableView reloadData]; 

但是這並不如預期:(

什麼想法?

的最好的事情是兩個部分,第一部分包含5個工作,第二部分包含一個開關關閉的單元格,如果開關已更改2個單元格將添加到第2部分。(添加了動畫:))

m HH ..

在此先感謝,我在每一個答案:)

回答

1

你在哪裏拉從這個-numberForRowsInSection:方法很興奮?據我(和文檔)知道,它不存在,並從來沒有作爲UITableView的方法存在。猜測會讓你無處可逃,更不用說從空氣中發明方法。

也許你應該回顧一些教程,包括使用UITableView的基礎知識,然後再嘗試這些。我懷疑有人會花時間給你寫一個完整的課,並將其寫入答案中,如果你不只是簡單地複製/粘貼代碼,那麼從長遠來看,你會變得更好。你不明白。 UITableView中包含很多文檔和示例,只是考慮Apple提供的內容 - UITableView是一種常用的類,它在Google中搜索類似「UITableView教程」的內容將爲您提供頁面和頁面結果。

我會給你一個你需要做什麼的快速概覽,儘管如下: 1.當然,你可以從Xcode中的UITableViewController模板開始,並開始自定義它以適應你的需求......兩節,然而,每節的許多行等,如果需要的話,根據某些模型級別的對象來確定。

  • 你需要(至少增加一個UISwitch子視圖)要麼創建一個自定義的UITableViewCell子類或自定義默認的UITableViewCell佈局好一點,當你創建新小區對象tableView:cellForRowAtIndexPath:

  • 應將UISwitch配置爲當交換機的值使用-[UIControl addTarget:action:forControlEvents:]作爲UIControlEventValueChanged事件更改時向您的視圖控制器發送消息。

  • 在實現此開關值更改的操作方法時,您需要實現邏輯以確定是應該添加還是減去行,然後實際添加或減去行。您可以使用beginUpdates/endUpdates,insertRowsAtIndexPaths:withRowAnimation:deleteRowsAtIndexPaths:withRowAnimation:以獲得很好的平滑行動畫行爲,而不是簡單地調用reloadData

  • +0

    感謝您的回答。我認爲我理解UITableView相當不錯(我讀過幾本書等)。我認爲只需編輯行數就可以了。我沒有想過插入一行:)感謝提示。現在我將從哪裏開始。下次我會先閱讀文檔:) – jacky 2009-11-29 16:28:14

    相關問題