使用ViewDeck不会调用editingStyleForRowAtIndexPath

时间:2012-11-27 23:44:11

标签: objective-c ios

我一直在努力将刷卡删除功能添加到我的应用中的普通UITableView,但没有成功。

我有UIViewController唯一一个UITableView,它使用基本单元格和自定义单元格。此UIViewController位于UINavigationController之上,centerViewControllerIIViewDeckControllerUITableView

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"canEditRowAtIndexPath"); return YES; } -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"commitEditingStyle"); } -(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"editingStyleForRowAtIndexPath"); return UITableViewCellEditingStyleDelete; } - (void)tableView:(UITableView *)tv didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"didEndEditingRowAtIndexPath"); } 的委托和数据源设置正确,这是当前代码:

cellForRowAtIndexPath

其他委托方法(如canEditRowAtIndexPathdidSelectRowAtIndexPatheditingStyleForRowAtIndexPath)被正确调用,但[table setEditing:YES animated:YES];永远不会在任何单元格上调用。

更新

当我{{1}}时,确实启用了编辑模式。

这里可能缺少什么?

1 个答案:

答案 0 :(得分:4)

问题在于,IIViewDeckController抓住了滑动事件以打开侧边栏。

通过将IIViewDeckController panningMode设置为IIViewDeckNavigationBarPanning,它会删除此功能,从而解决UITableView的问题。