UITableView编辑无法正常工作

时间:2011-06-15 02:06:05

标签: iphone ios uiviewcontroller

我有一个用于编辑UITableView的按钮(UINavigationBarItem),它只允许删除。因此,当我按下删除时,每个单元格旁边会出现一条小红线,我可以删除每一行。

按下该按钮时,将调用以下功能:

-(void)editButtonSelected:(id)sender {

    if(self.editing)
        NSLog(@"self.editing = true");
    else
        NSLog(@"self.editing = false");

    if(self.editing) {
        [super setEditing:NO animated:NO];
        [tableView setEditing:NO animated:NO];
        [tableView reloadData];
        [leftButton setTitle:@"Delete"];
        [leftButton setStyle:UIBarButtonItemStylePlain];
        self.editing = false;
    }
    else {
        [super setEditing:YES animated:YES];
        [tableView setEditing:YES animated:YES];
        [tableView reloadData];
        [leftButton setTitle:@"Done"];
        [leftButton setStyle:UIBarButtonItemStyleDone];
        self.editing = true;
    }
}

它工作正常。但只有一段时间。一旦我介绍了一个新的UIViewController,然后关闭该控制器,这个删除功能在我的主屏幕上不起作用。它工作正常,直到新的UIViewController被置于顶部。按钮本身工作正常,self.editing的值确实正确地在true和false之间切换,但是小红线不会显示。为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

我猜你的UINavigationBarItem上的目标仍然设置为第一个视图控制器,而不是被推入堆栈的后续视图控制器。