几分钟前我遇到了一个类似的问题,并且在以不同的(恕我直言更优雅)的方式指出正确的方向后能够解决它:
在子类实现的开头 添加以下行:UITableViewController
@synthesize tableView;
将以下代码添加到子类的init
方法的开头UITableViewController
,例如initWithNibName:bundle:
(viewDidLoad
虽然我推荐一种init
方法,但开头可能也可以):
if (!tableView &&
[self.view isKindOfClass:[UITableView class]]) {
tableView = (UITableView *)self.view;
}
self.view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
self.tableView.frame = self.view.bounds;
self.tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, 0.0, 0.0);
[self.view addSubview:self.tableView];
然后,您无需再更改您在问题中发布的代码。上面的代码所做的基本上是将self.tableView
from self.view
(它是对与以前相同的对象的引用self.tableView
,但现在是一个UIView
包含 table view 的,正如人们所期望的那样)。