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附件.
对于滑动到删除功能,您必须实现
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
; // Delete.
}
Run Code Online (Sandbox Code Playgroud)
编辑:我没有读好这个问题.
我注意到要在模拟器中进行滑动拖动,我必须在选择单元格时按下并暂停一秒钟,然后才能成功向右滑动.
你需要实现:
- (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,它从未奏效.