在uitableveiw中滑动,不会出现删除按钮。此外,当我快速滑动时,会出现删除按钮

时间:2016-11-29 11:36:50

标签: ios objective-c uitableview swipe

我正在尝试在UITableView中实施滑动删除功能。 ViewController不包含平移手势或任何其他功能。选中侧边菜单时会推送包含viewController的{​​{1}}。以下是我使用的代码。

UITableView

当我滑动时,不会出现删除按钮。但是,当我快速滑动时,会出现删除按钮。任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

我也面临同样的问题并通过禁用侧面菜单的panMode来修复。如果您正在使用MFSideMenu,请查看以下代码 -

MFSideMenuContainerViewController *container = [MFSideMenuContainerViewController
                                                    containerWithCenterViewController:centerViewController
                                                    leftMenuViewController:leftViewController
                                                    rightMenuViewController:nil];

container.panMode = MFSideMenuPanModeNone;

答案 1 :(得分:1)

我假设tableview swipe delete的默认功能被同一类或父类中使用的手势识别器覆盖。请检查当前类,父类或这些类中使用的库。

答案 2 :(得分:0)

试试这段代码。您可以在滑动uitableviewcell时根据需要添加n个按钮。确保您已返回return语句(return @[deleteAction, someOtherButtonName])

中的所有按钮
- (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {   

    // Delete button

    UITableViewRowAction *deleteAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Delete"  handler:^(UITableViewRowAction *action, NSIndexPath *indexPath){

        // Action for delete button

    }];

    deleteAction.backgroundColor = [UIColor redColor];

    return @[deleteAction];

}

答案 3 :(得分:0)

谢谢大家的支持。

问题已得到解决。

我一直在使用LGMenuController类在App上实现导航抽屉。该课程通过应用程序使用手势识别功能,通过滑动手势显示/关闭侧边菜单。

似乎表格视图的滑动删除的默认功能被LGMenuController类中使用的手势识别器覆盖。一旦完全禁用手势识别,UITableView的滑动删除功能就可以正常工作。