我希望viewController的视图有一个tableView作为其子视图。
因为我需要覆盖tableViewController的一些方法,例如
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
- (UITableViewCell*) tableView: (UITableView*) tableView cellForRowAtIndexPath: (NSIndexPath*) indexPath
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
,我让我的viewController拥有(自定义)TableViewController而不是tableView。
然后,我做了类似的事情,
UIView* holderView = [[[UIView alloc] initWithFrame:] autorelease];
[self.view addSubview holderView]; //self is viewController
[holderView addSubview: tableViewController.view];
.. change tableViewController.view.backgroundColor so on..
然后,tableView神奇地(?)填充holderView并且工作正常。
但我觉得这是不规则的,并且想知道将自定义表格视图作为子视图的最佳做法是什么?
谢谢
答案 0 :(得分:0)
我所做的(并且更常见的是我相信),也是使viewController成为表的委托。这意味着控制器具有viewDidLoad等功能,但它还需要numberOfRowsInSection,cellForRowAtIndexPath等等。 将表的委托设置为viewController(self)时,表示该表将查找在该委托上构建表所需的信息。委托包含那些表函数。
编辑:我刚看到你桌子上的'自定义'前缀。在这种情况下,我仍然使用我描述的方法,但使用CustomCells。