2

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

4

1 回答 1

0

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

[self.tableView reloadData];

希望这可以帮助!

于 2013-09-17T23:35:28.343 回答