我想要实现的功能是,首先我在UITableView
中显示两行,显示完美。然后在didSelectRowAtIndexpath:
上,我在numberOfRows
中添加UITableView
,我在添加UITableView
和所需数据后重新加载numberOfRows
。 / p>
我的问题是我传递了numberOfRowsInSection:
中的新行数(我已经检查过,它正确传递)但是cellForRowAtIndexpath:
之后只调用了两次,这是之前的numberOfRows
值。
我的代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.currentSubCategoryRows;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// My code for cell construction goes here
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self.arrWithAdditionalValues addObjectsFromArray:[self.dictSubCategoriesLevel3 objectForKey:[NSString stringWithFormat:@"%d",rowOpened]]];
self.currentSubCategoryRows += self.arrWithAdditionalValues.count;
[tableView reloadData];
}
可能是什么原因?
任何帮助将不胜感激!!!
答案 0 :(得分:5)
我找到了解决方案。
当我根据UITableView
中的行数调整cellForRowAtIndexPath:
的大小时,这就是为什么UITableView
的下一部分不可见,以及UITableView
部分的原因1}}不可见,cellForRowAtIndexPath:
永远不会被调用。
很抱歉打扰你们所有人。
非常感谢你的帮助!!!
答案 1 :(得分:4)
cellForRowAtIndexPath:仅在绘图时需要立即调用。您必须构建该方法,而不必控制何时调用它。
答案 2 :(得分:2)
尝试在viewWillAppear
- (void)viewWillAppear:(BOOL)animated {
[tableview reloadData];
}