【问题标题】:No Indentation in Custom TableCell while Editing TableView编辑 TableView 时自定义 TableCell 中没有缩进
【发布时间】:2011-06-23 17:39:10
【问题描述】:

我今天花了很多时间试图弄清楚如何让我的自定义表格单元格(使用 XIB 构建)在编辑模式下停止缩进。

我到处查看,例如:Prevent indentation of UITableViewCell (contentView) while editingHow can I change the amount of indentation on my custom UITableViewCell while editing?,但似乎遇到了与 OP 遇到的与细胞跳来跳去的问题相同的问题。

有没有人找到更好的方法来解决这个问题?

基本上我有一个 CustomTableCell,当我在该单元格上进入编辑模式时,我希望该单元格保持在原位,没有缩进。

感谢您的帮助!

【问题讨论】:

    标签: iphone ios4 uitableview


    【解决方案1】:

    您应该使用 tableView:shouldIndentWhileEditingRowAtIndexPath: 委托方法来返回 No。如果这不起作用,请转到 .xib 并打开实用程序视图(右侧的那个)。从那里禁用文件检查器选项卡中的“使用自动布局”并在属性检查器中禁用“编辑时缩进”。

    【讨论】:

      【解决方案2】:

      您应该使用委托方法tableView:shouldIndentWhileEditingRowAtIndexPath: 并返回false

      来自文档:“当表格视图处于编辑模式时,询问代理指定行的背景是否应该缩进。”

      【讨论】:

      • 这应该是公认的答案,因为它不是任何形式的 hack,而是正确的方法
      【解决方案3】:

      有趣。我设法使用 hack 使链接中发布的解决方案工作:在 layoutSubviews 我刚刚做了 self.indentationWidth = 0.0001; :.不是最干净的解决方案,但它有效。

      【讨论】:

      • 布局子视图在哪里?是细胞吗?或单元格背景视图或什么?谢谢!
      【解决方案4】:

      我发现,如果您将自定义单元格的子视图放在大约 300 到 320 点宽的 UIView 上,然后将所述子视图添加到单元格的内容视图中,它不会在触发编辑模式时移动子视图。

      【讨论】:

      • 有趣。我设法使用 hack 使链接中发布的解决方案工作:在 layoutSubviews 我刚刚做了 self.indentationWidth = 0.0001; :\。不是最干净的解决方案,但它有效。
      猜你喜欢
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      相关资源
      最近更新 更多