Ios 子视图赢得';切换UITableView编辑时,无法在自定义UITableView单元格中正确隐藏

Ios 子视图赢得';切换UITableView编辑时,无法在自定义UITableView单元格中正确隐藏,ios,uitableview,Ios,Uitableview,因此,我的应用程序在其左侧的汉堡地下室中有一个可编辑和可排序的UITableView: 为了确保表格单元格足够薄,可以在编辑时显示“删除”按钮和排序拖动手柄,我创建了一个自定义UITableViewCell来处理表格单元格的编辑: 编辑时一切正常,但当我点击“完成”时,删除按钮不再隐藏,而是挂起: BookmarkTableViewCell.m中的代码是: - (void)setEditing:(BOOL)editing animated:(BOOL)animate { [super

因此,我的应用程序在其左侧的汉堡地下室中有一个可编辑和可排序的UITableView:

为了确保表格单元格足够薄,可以在编辑时显示“删除”按钮和排序拖动手柄,我创建了一个自定义UITableViewCell来处理表格单元格的编辑:

编辑时一切正常,但当我点击“完成”时,删除按钮不再隐藏,而是挂起:

BookmarkTableViewCell.m中的代码是:

- (void)setEditing:(BOOL)editing animated:(BOOL)animate
{
  [super setEditing:editing animated:animate];

  if (editing) {
    for (UIView * view in self.subviews) {
        if([[[view class] description] isEqualToString:@"UITableViewCellReorderControl"])
        {
            UIView *movedReorderControl = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetMaxX(view.frame), CGRectGetMaxY(view.frame))];
            [movedReorderControl addSubview:view];
            [self addSubview:movedReorderControl];
            CGRect newFrame = movedReorderControl.frame;
            newFrame.origin.x = -35;
            movedReorderControl.frame = newFrame;
        }
    }
    UIImageView *deleteBtn = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 24, 24)];
    [deleteBtn setImage:[UIImage imageNamed:@"icon_delete.png"]];
    [self addSubview:deleteBtn];
  }
}

如果你需要更多的细节,请告诉我。任何关于解决这一问题的见解都是非常好的。谢谢

看起来您正在添加deleteBtn,但没有删除它。如果编辑错误,您应该找到deleteBtn单元格并将其从superview中删除,这样它就会消失。

James,我过去曾尝试过这样做,但您关于“您应该找到deleteBtn”的一点让我意识到,我可能需要比以前更努力地搜索它。这让我尝试“deleteBtn.tag=DELETE_tag;”如果编辑为false,“[[self-viewWithTag:DELETE_TAG]removeFromSuperview];”这就成功了!谢谢。