在Xcode的對象庫中,有兩個選項可以用來創建表視圖 - 表視圖和表視圖控制器。 兩者之間的區別是什麼以及它們何時被使用?iOS - 表視圖和表視圖控制器有什麼區別
13
A
回答
19
TableViewController是一個帶有內置TableView的ViewController。這將擁有需要聲明和設置的委託方法。這個VC已經是一個TableView委託和數據源。它不能調整大小。上行是易用性,下行靈活性非常有限。
TableView就是一個TableView(UIView的子類)。它可以添加到ViewController中並調整大小,與另一個基於視圖的對象一起使用等等。優點是靈活性,缺點是必須自己設置代理和數據源方法(在我看來,非常值得花時間去獲取靈活性)。
另一個需要注意的是,當使用新的Static TableView單元格(iOS5的一部分)時,必須使用TableViewController。
4
UITableViewController
是UIViewController
的子類。它已經假定你將有UITableView
作爲你的rootView,所以你已經可以從代碼訪問tableView(self.tableView)。它實現了UITableViewDataSource
和UITableViewDelegate
協議。它也爲你提供了很多方法來覆蓋。它允許你不依賴於XIB文件,因爲你已經知道你將擁有什麼(UITableView
作爲rootView)。
的UITableView
就是UIView
,通常你必須遵守,以我在爲了填充(數據源),並用它(代表)的工作在你的UIViewController
上面提到的協議,你可能要創建一個IBOutlet爲您的UITableView
。
一方面你有速度,但你不像其他路徑那麼靈活。另一方面,你則相反。
相關問題
- 1. 容器視圖和容器視圖控制器有什麼區別?
- 2. unwind segues和彈出視圖控制器有什麼區別?
- 3. 視圖和視圖控制器技術上的區別?
- 4. 光標和視圖有什麼區別?
- 5. 表視圖視圖控制器
- 6. 彈出一個視圖控制器,關閉視圖控制器,並使用unwind segue有什麼區別?
- 7. 綁定視圖和注入視圖有什麼區別?
- 8. 識別iOS視圖控制器類型
- 9. iOS 5故事板 - 視圖控制器中的表格視圖
- 10. 視圖容器不顯示錶視圖控制ios
- 11. Xamrin iOS的 - 在列表視圖RowSelected打開視圖控制器
- 12. iOS將數據收集視圖控制器傳遞給表視圖控制器
- 13. 框架,代表和視圖控制器
- 14. 視圖控制器上的表視圖控制器
- 15. 什麼是「頁面控制器」和「頁面視圖控制器」?
- 16. 子視圖和容器視圖之間的IOS區別
- 17. iOS的「視圖控制器」
- 18. 「視頻圖形適配器」和「視頻圖形陣列」有什麼區別
- 19. 獲取根視圖有什麼區別?
- 20. 導航控制器和表視圖
- 21. iphone導航控制器和表視圖
- 22. 表視圖視圖控制器顯示下一視圖
- 23. 從表視圖(子視圖)推新視圖控制器
- 24. 視差和視差有什麼區別
- 25. 詳細視圖控制器從表視圖控制器沒有故事板?
- 26. 視圖與視圖有什麼區別:make?
- 27. mvc中的視圖與局部視圖有什麼區別
- 28. 具有多個視圖的iOS表格視圖導航控制器
- 29. 視圖控制器應該在視圖中應該是什麼?
- 30. 帶有表視圖的視圖控制器中的RSS源
當使用'UITableViewController'時,提示缺少調整大小/在同一屏幕上與其他控件共享'UITableView'的好處。那麼另一方面呢,我們總是可以使用'tableHeaderView'和'tableFooterView'來實現其他控件。 – Till 2011-12-28 13:16:26
確實如此,但是當像做一個靜態SearchBar(不滾動)那樣的東西時,帶有TableView的VC運行良好。 – 2011-12-28 15:10:46