从UITableView中删除tableHeaderView

时间:2013-09-17 23:12:10

标签: iphone

这有点奇怪!当我在模拟器上运行应用程序时它工作正常,但在设备上它不会删除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被触发,但它永远不会删除表头。

1 个答案:

答案 0 :(得分:0)

我认为这不是正确的做法。您正在弄清楚您的表视图正在管理的视图。为什么不尝试返回自定义视图或nil格式UITableViewDelegate的方法- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section。我相信这是正确的方法。您可以通过执行以下行要求操作系统调用该方法:

[self.tableView reloadData];

希望这有帮助!