离开“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”电话后,如何阻止自定义单元格更改样式?的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 自定义编辑视图

iRedMail 在标准安装后阻止自定义端口

学习WEBAPI(DOM)第二天

如何检测自定义表格视图单元格何时离开屏幕?

如何阻止信号到达自定义插槽

如何阻止游戏制作者对象离开示踪剂