离开“setEditing”电话后,如何阻止自定义单元格更改样式?
Posted
技术标签:
【中文标题】离开“setEditing”电话后,如何阻止自定义单元格更改样式?【英文标题】:How do I stop my custom cell from changing style after I leave a "setEditing" call? 【发布时间】:2013-10-04 22:14:58 【问题描述】:我在 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】:一个最简单的解决方案是 tableviewcell 内的所有子视图,这样在编辑模式下对齐方式不会改变。
按照以下步骤操作: 1.在您的自定义单元格xib中添加一个uiview(subView),当然还有您的tableviewcell(单元格)。 2.将所有uicontrols添加到uiview中,不在tableviewcell中。 3.在tableviewcell自定义类中放入uiview的iboutlet。
这是用于自定义单元格
现在在 cellForRowAtIndexPath 中:将此 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];
【讨论】:
以上是关于离开“setEditing”电话后,如何阻止自定义单元格更改样式?的主要内容,如果未能解决你的问题,请参考以下文章