我的编辑按钮无法更改为完成,通过滑动删除行

时间:2012-02-02 21:22:10

标签: iphone uitableview

我正在使用UITableView,我正在删除。据我所知,有两种删除行的方法

  
      
  1. 从左向右滑动,将出现删除按钮,以便您可以删除

  2.   
  3. 将EDIT按钮添加到右上方或右上方。点击它,EDIT将变为DONE,表格的每一行都会有一个红色圆圈   每个前面都有( - )标志。点击它,删除按钮即可   出现,你可以处理

  4.   

我注意到如果你有一个EDIT按钮并使用方法1删除,EDIT按钮也会改为DONE ...但是,在滑动之后,我的仍然是编辑。有没有人遇到过这个问题,请帮忙。欢迎所有评论。感谢

3 个答案:

答案 0 :(得分:2)

当视图未处于编辑模式时,滑动以删除。它应该是浏览视图时删除项目的快捷方式。例如,查看邮件应用中的工作原理 - 您可以点按以编辑所有行,也可以只需滑动即可删除其中一行。

所以基本上它正常工作。

但是,如果要覆盖标准行为,可以在viewController上调用setEditing:以编程方式切换模式,这也将更新编辑按钮。

答案 1 :(得分:1)

使用ViewdidLoad方法添加“编辑”按钮

-(void)viewDidLoad;
{
  [super viewDidLoad];
  self.navigationItem.leftBarButtonItem = [self editButtonItem];
}

对于删除方法

- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath
{
    [array removeObjectAtIndex:indexPath.row];
    [self.tableView deleteRowsAtIndexPath:[NSArray arrayWithObject: indexPath] withRowAnimation: UITableViewRowAnimationFade];
    [self.tableView reloadData];
}

答案 2 :(得分:0)

要获得此行为,您需要实现这两个委托方法:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = YES;
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = NO;
}