我的表视图上的删除功能似乎不起作用

时间:2013-06-11 13:34:16

标签: iphone ios

我有一个触发[sppvc setEditing:!sppvc.isEditing animated:YES];的按钮 并且删除符号出现但单击它们时没有任何反应(它们不旋转,删除按钮显示就像滑动删除时那样),它们也不会在它们出现时滑动。我应该提一下滑动删除工作正常。

图片说明了我的意思:

enter image description here

更新:按住红色删除符号/符号并在几秒后松开会导致删除按钮出现。我怎么能做到这一点。

4 个答案:

答案 0 :(得分:1)

你需要实现下面的代码。它是UItableview的委托方法,每当你刷一个单元格进行删除时它会自动调用

    - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return YES if you want the specified item to be editable.
    return YES;
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        //add code here for when you hit delete

}
}

答案 1 :(得分:0)

请使用此代码并告诉我它是否正常工作。

-(void)editButtonPressed:(id)sender
{
    if(self.editing)
    {
        [super setEditing:NO animated:YES]; 
        [selectSongTableView setEditing:NO animated:YES];
        [self.navigationItem.leftBarButtonItem setTitle:@"Edit"];
        [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStylePlain];

    }
    else
    {

        [super setEditing:YES animated:YES]; 
        [selectSongTableView setEditing:YES animated:YES];
        [self.navigationItem.leftBarButtonItem setTitle:@"Done"];
        [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStyleDone];

    }  

}

如果您在点击任何按钮时在UITableView中进行编辑,请使用此代码。使用您自己的表名。

希望这有帮助,否则我就在这里。

答案 2 :(得分:0)

无法通过代码访问该行为 - 它应该是自动的。这是您正在使用的设备或模拟器吗?您所描述的内容听起来像设备/模拟器处理触地事件的方式有问题,即应用程序之外的事情。我会尝试在另一台设备上运行该应用程序,如果你还没有这样做的话。

另一种可能性是,根据您提供的图像,看起来删除按钮覆盖了tableviewcell上的图像。每当删除符号出现时,您的整个单元格应缩进,包括其中的任何图像。这意味着图像以某种方式被识别为在您的tableviewcell之外,因此可能干扰触摸事件。因此,如何创建tableviewcells(我假设它们是自定义的)以及它们内部的imageview可能是一个问题。最后一件简单的事情我过去忽略了自己。确保在单元格nib文件中选中了“已启用用户交互”框。

答案 3 :(得分:0)

结果

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)];
    [self.tableView addGestureRecognizer:gestureRecognizer];

创建此3秒延迟以激活删除符号。 希望这可以帮助别人。

此问题有助于解决该问题

UIButton inside a view that has a UITapGestureRecognizer