我在一个UIViewController
的子视图中有一个UITableView
。这个viewController的UI是通过storyboard进行管理的。必要时,委托和数据源会被设置为viewController。
我有以下代码:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
if (updateType == Profile) {
return 15;
}
else {
return 6;
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
上述两种方法被正确地调用。调用
[self.tableview reloadData]
会导致这些方法再次被调用。令人费解的是,- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
从未被调用过。数据源和代理在代码中设置,其中
self.tableview
是 storyboard 中 UITableView
的 IBOutlet。self.tableview.delegate = self;
self.tableview.dataSource = self;
找到答案了
我正在使用带有自动布局的故事板。问题在于,尽管故事板的其余部分设置为wAny hAny,但尺寸仍设置为wRegular hRegular。简单地切换这个设置就可以使它正常工作!虽然很荒谬,但这确实是一个答案。