目标C / iOS的:子类的UITableViewController为定制视图(Objective

2019-09-19 13:53发布

我们都知道,在可可触摸表视图是niftiest件框架元素是在那里之一。 为方便起见,苹果给了我们一个很好的视图控制器类来封装表视图的功能,在VC的UITableViewController

与此同时,也有我们要利用表视图的功能,不需占用整个屏幕时代。 然而,似乎没有办法通过继承来做到这一点UITableViewController 。 相反,我不得不来装表视图并手动订阅UITableViewDelegateUITableViewDataSource 。 如果我尝试子类UITableViewController ,之前我的应用程序崩溃,甚至可以把屏幕上的看法...

我的问题是,是否有我丢失的东西? 当子类UITableViewController ,我勾了我的自定义表视图中的tableView财产UITableViewController 。 有没有别的东西,我有什么关系?

Answer 1:

UITableViewController只增加次要便利以上UIViewController :它创建并定位表视图,将该委托挂接&数据源(其自身,通常情况下),通过视图控制器editing通过表属性,并做了几个有用的UI位当出现视图。 (参见[该文档] [1]的信息。)

几乎所有上述的要么A),你需要为了改变有是非全屏表,或B)的东西,你可以在一两行各做,哪些事情UITableViewController只做你方便。 对于这样的情况,你就要去使用自己的更好UIViewController子类。



Answer 2:

步骤1:子类UIViewController代替UITableViewController

MyTableViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>

第2步:使用Interface Builder来删除一个的tableView和自定义视图

第3步:声明的tableView财产IBOutletMyTableViewController头文件,它在界面生成器绑定到的tableView

恕我直言,这个过程会给你更多的灵活性。



文章来源: Objective-C / iOS: Subclassing UITableViewController for a custom view