滑动到删除不起作用

Nat*_*han 10 iphone uitableview uiview ios4

滑动删除功能在我的表视图中不起作用.我已经在导航栏中实现了commitEditingStyle委托和Edit按钮.因此,当用户单击编辑按钮时,删除和添加按钮会正确显示.但是,在滑动时,删除按钮不会出现,似乎它无法识别滑动作为setEditing方法的调用.

然后我实现了willBeginEditingRowAtIndexPath和didEndEditingRwoAtIndexPath委托,如下所示:

-(void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath

{
 NSLog(@"WILL BEGIN EDITING");

 [self.tableView setEditing:YES animated:YES];

}


-(void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath

{

[self.tableView setEditing:NO animated:YES];

}
Run Code Online (Sandbox Code Playgroud)

然而,这也没有任何影响.可能的问题是什么?我已经为IB中的表格视图启用了多点触控,每个单元格都有一个DetailDisclosureButton附件.

Pet*_*ese 7

对于滑动到删除功能,您必须实现

 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
        ; // Delete.
}
Run Code Online (Sandbox Code Playgroud)

编辑:我没有读好这个问题.

我注意到要在模拟器中进行滑动拖动,我必须在选择单元格时按下并暂停一秒钟,然后才能成功向右滑动.


Sco*_*zie 5

你需要实现:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;


- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;
Run Code Online (Sandbox Code Playgroud)

有了这三件事,你应该好好去.(我错过了commitEditingStyle,它从未奏效.


Jin*_*lík 5

如果所有其他建议都无济于事,请尝试检查您的代码中是否有平移手势识别器。如果您在某些底层视图中有这样的东西,它将不起作用。