这有点奇怪!当我在模拟器上运行应用程序时它工作正常,但在设备上它不会删除tableHeaderView。这是我的代码:
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if(UITableViewCellEditingStyleDelete == editingStyle)
{
BOOL success = [Service deleteNoteByNoteId:note];
if(success)
{
[self updateTableViewHeader];
}
}
}
-(void) updateTableViewHeader
{
if([self.selectedVegetableGarden.notes count] > 0)
{
self.tableView.tableHeaderView = [self createSharingView];
}
else
{
self.tableView.tableHeaderView = nil;
}
}
行self.tableView.tableHeaderView = nil被触发,但它永远不会删除表头。
答案 0 :(得分:0)
我认为这不是正确的做法。您正在弄清楚您的表视图正在管理的视图。为什么不尝试返回自定义视图或nil格式UITableViewDelegate
的方法- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
。我相信这是正确的方法。您可以通过执行以下行要求操作系统调用该方法:
[self.tableView reloadData];
希望这有帮助!