Objective-C / iOS:为自定义视图创build子类UITableViewController
众所周知,Cocoa Touch中的表格视图是其中最为重要的框架元素之一。 为了方便起见,苹果给了我们一个很好的视图控制器类来封装一个表格视图的function, UITableViewController
。
同时,有时我们希望利用表视图的function,而不占用整个屏幕。 但是,通过UITableViewController
,似乎没有办法做到这一点。 相反,我不得不连接一个表视图,并手动订阅UITableViewDelegate
和UITableViewDataSource
。 如果我尝试子类UITableViewController
,我的应用程序崩溃之前,甚至可以把视图在屏幕上…
我的问题是,有什么我失踪? 当UITableViewController
,我将自定义表视图绑定到UITableViewController
的tableView属性。 还有什么我需要做的吗?
UITableViewController
只是在UIViewController
添加了一些小小的便利:它创build和定位表视图,挂钩委托和数据源(通常为自身),将视图控制器editing
属性传递给表,并在出现视图。 (有关详细信息,请参阅[文档] [1]。)
几乎所有的上述都是A)你需要改变的东西,以便有一个非全屏表,或B)的东西,你可以做一两行或两个,以及哪些UITableViewController
只为你做方便。 对于这样的情况,最好使用自己的UIViewController
子类。
第1步:子类UIViewController
而不是UITableViewController
MyTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
第2步:使用界面生成器来删除tableView和自定义视图
第3步:在MyTableViewController
头文件中声明tableView属性为IBOutlet
,并将其绑定到接口生成器中的tableView
恕我直言,这个过程会给你更多的灵活性。