即使cellForRowAtIndexPath
== 0,我也希望numberOfRowsInSection
始终被调用,因为我正在隐藏并通过将numberOfRowsInSection
设置为零而在表格中显示一个部分,但是当我这样做时上面描述的方法没有执行,因为numberOfRowsInSection
变为零,这会产生问题,因为尽管节标题消失,仍然呈现单元格的内容,任何关于如何在设置{{后隐藏单元格内容的想法“ 1}}到零:
numberOfRowsInSection
假设- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section==0||section==1)
return 1;
if (section==2) {
if (self.isSectionAppears)
return 1;
else
return 0;
}
}
是bool属性,当我想要隐藏该部分时将其设置为false
答案 0 :(得分:0)
你不应该在你的cellForRowAtIndexPath中隐藏显示/隐藏逻辑的部分。当您需要告诉tableview更新节标题时,可以使用代码
对节进行刷新NSUInteger sectionToRefresh = //index of table section with header you want to refresh.
NSIndexSet indexSetWithSection = [NSIndexSet indexSetWithIndex:sectionToRefresh];
[tableView reloadSections:indexSetWithSection withRowAnimation:UITableViewRowAnimationAutomatic];
如果您想刷新节标题的可视元素而不刷新本节的其余部分,可以通过直接处理节标题对象来实现:
//Get section header from table
UITableViewHeaderFooterView* myHeader = [tableView headerViewForSection:sectionToRefresh];
//Update header
[myHeader.textLabel setText:newSectionHeaderText]; //Update it's text for example.