我有一个触发[sppvc setEditing:!sppvc.isEditing animated:YES];
的按钮
并且删除符号出现但单击它们时没有任何反应(它们不旋转,删除按钮显示就像滑动删除时那样),它们也不会在它们出现时滑动。我应该提一下滑动删除工作正常。
图片说明了我的意思:
更新:按住红色删除符号/符号并在几秒后松开会导致删除按钮出现。我怎么能做到这一点。
答案 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秒延迟以激活删除符号。 希望这可以帮助别人。
此问题有助于解决该问题