我们都知道,在可可触摸表视图是niftiest件框架元素是在那里之一。 为方便起见,苹果给了我们一个很好的视图控制器类来封装表视图的功能,在VC的UITableViewController
。
与此同时,也有我们要利用表视图的功能,不需占用整个屏幕时代。 然而,似乎没有办法通过继承来做到这一点UITableViewController
。 相反,我不得不来装表视图并手动订阅UITableViewDelegate
和UITableViewDataSource
。 如果我尝试子类UITableViewController
,之前我的应用程序崩溃,甚至可以把屏幕上的看法...
我的问题是,是否有我丢失的东西? 当子类UITableViewController
,我勾了我的自定义表视图中的tableView财产UITableViewController
。 有没有别的东西,我有什么关系?
UITableViewController
只增加次要便利以上UIViewController
:它创建并定位表视图,将该委托挂接&数据源(其自身,通常情况下),通过视图控制器editing
通过表属性,并做了几个有用的UI位当出现视图。 (参见[该文档] [1]的信息。)
几乎所有上述的要么A),你需要为了改变有是非全屏表,或B)的东西,你可以在一两行各做,哪些事情UITableViewController
只做你方便。 对于这样的情况,你就要去使用自己的更好UIViewController
子类。
步骤1:子类UIViewController
代替UITableViewController
MyTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
第2步:使用Interface Builder来删除一个的tableView和自定义视图
第3步:声明的tableView财产IBOutlet
在MyTableViewController
头文件,它在界面生成器绑定到的tableView
恕我直言,这个过程会给你更多的灵活性。