向左滑动时未剪切子视图以删除 UITableViewCell

Posted

技术标签:

【中文标题】向左滑动时未剪切子视图以删除 UITableViewCell【英文标题】:Subviews not clipped on swipe left to delete UITableViewCell 【发布时间】:2014-08-14 17:32:38 【问题描述】:

我只是想实现向左滑动并点击删除按钮来删除 UITableViewCell。

触摸时,单元格会扩展/收缩。单元格的全尺寸是使用 Xcode 设计的,我勾选了“剪辑子视图”以防止单元格底部出现在收缩状态。

但是,当我在收缩的单元格上向左滑动(以显示删除按钮)时,单元格的底部会重新出现!我四处寻找解决方案,但还没有找到。任何帮助,将不胜感激。谢谢。

【问题讨论】:

我遇到了同样的事情。你解决过这个问题吗? 很遗憾没有。我现在使用SWTableViewCell 来满足我对表格视图单元格的所有滑动需求。 谢谢。 (我假设这是 ios8)。我在iOS7下没有问题。 相信它只是 iOS 8 是的 【参考方案1】:

完全归功于 Vitaliy Gozhenko,我只是在这里复制一个答案。见this SO answer

问题是当表格进入编辑模式时cell.contentView.clipsToBounds 被设置为NO

修复

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.contentView.clipsToBounds = YES;

对我来说,这是 iOS8 所需的修复。

【讨论】:

以上是关于向左滑动时未剪切子视图以删除 UITableViewCell的主要内容,如果未能解决你的问题,请参考以下文章

剪切清晰的子视图

在 UITableViewCell 中的任意位置向左或向右滑动以删除没有删除按钮的单元格?

关闭模式视图时未调用 onDisappear

从右向左滑动时未调用 UISplitViewControllerDelegate/UIPopoverDelegate 方法

Android:PagerAdapter 删除最后一个视图,因此您无法向左滑动

识别视图中的滑动手势而不是子视图