在UITableViewCell上滑动到删除:单元格被压扁

3 iphone editing uitableview ios

我有一个以编程方式创建的自定义tableview单元格,其中包括:带有图像的背景视图左侧和右侧的3个标签右侧的一个UISwitch.我希望能够滑动并删除单元格.但是,当我滑动以显示删除按钮时,删除按钮会将背景视图(以及其他所有内容)推到一边,就像它正在压缩单元格一样.如何获取它以使背景图像不缩小?

我一直在寻找这个问题,有些人说它与自动化面具有关,但这似乎并没有影响任何事情.我也不想在layoutSubviews方法中手动设置单元格的宽度,因为我看到了一个建议.

有任何想法吗?谢谢!

jms*_*617 6

问题,我猜测(因为你没有发布任何代码),是你添加了所有这些UI元素作为单元格的子视图,即cell.backgroundColor = [UIColor someColor],[cell addSubview:label1],等等

事情就是这样:当编辑模式发生时,单元格的视图不知道如何适当地调整自身大小.但是,一个单元格的contentView,它是一个UIView,它知道如何调整大小.因此,您需要将标签,开关等添加为contentView的子视图,而不是单元格.进入编辑模式时,执行此操作将适当调整所有内容.

  • +1正确答案.但有一个补充,单元格中的内容需要使用正确的autoresizingMask进行设置. (3认同)