代码之家  ›  专栏  ›  技术社区  ›  user1504333

离开“setEditing”调用后,如何阻止自定义单元格更改样式?

  •  0
  • user1504333  · 技术社区  · 11 年前

    我在xCode4.6中设置了一个自定义单元格。在我尝试编辑/删除单元格之前,该单元格看起来很棒。我正在使用.xib,并且该表已设置为默认样式。

    回顾一下:如果我调用onClick函数,一切看起来都很好,那就是当我调用onDoneClick时,样式会变得一团糟;然而,如果我再次单击onClick,样式看起来又很好了。

    谢谢你的帮助!

    以下是调用setEditing的两个按钮。

    -(IBAction)onClick:(id)sender
    {
    editBttn.hidden = true;
    doneBttn.hidden = false;
    [_tableView setEditing:YES animated:YES];
    }
    
    -(IBAction)onDoneClick:(id)sender
    {
    [_tableView setEditing:NO animated:YES]; 
    editBttn.hidden = false;
    doneBttn.hidden = true;
    }
    
    1 回复  |  直到 11 年前
        1
  •  0
  •   Jay Gajjar    11 年前

    一个最简单的解决方案是在tableview单元格中创建一个子视图,这样在编辑模式下对齐方式就不会改变。

    请遵循以下步骤: 1.在自定义单元格xib中添加uiview(子视图),当然还有tableview单元格(单元格)。 2.将所有uicontrol添加到不在tableview单元格中的uiview。 3.在tableviewcell自定义类中放入uiview的iboutlet。

    这是针对自定义单元格的

    现在在单元格中ForRowAtIndexPath:将此uiview添加为单元格的子视图

    NSString *cellIdentifier=@"cell";
                    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
                    if (cell == nil) {
                        // Load the top-level objects from the custom cell XIB.
                        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCellXIB" owner:self options:nil];  
                        cell = [topLevelObjects objectAtIndex:0];
                        [cell addSubview:cell.subView];
                    }