gpt4 book ai didi

ios - 如何在编辑模式下维护自定义 UITableViewCell 内部控件布局?

转载 作者:行者123 更新时间:2023-11-28 23:31:37 24 4
gpt4 key购买 nike

我有一个 UITableViewCell 的自定义子类,带有几个多行标签、自动布局等。 我限制了多行标签,以便它们的后缘是小于单元格内容 View 的后缘,以便它们正确换行。据我所知,一切正常。

不过,当我将表格 View 置于编辑模式时,我遇到了问题。我希望发生的是单元格的内容向右移动以便为删除控件腾出空间而不更改其布局。实际发生的是单元格的内容 View 似乎缩小了大小以便为删除控件腾出空间。这会导致标签重排其内容,有时如果标签试图更改其高度,则会导致布局搞砸。

是否有推荐的方法在进入编辑模式时仅移动内容,而不是以较小的宽度重新布局?

最佳答案

当删除按钮出现时,单元格的 contentView 调整大小是正确的。

一个想法是向单元格的 contentView 添加一个附加 View 。这个额外的 View 应该包含所有布局良好的 subview 。

设置此额外 View 的约束,使左 anchor 绑定(bind)到 contentView 的左 anchor 。但设置此额外 View 的宽度以匹配单元格的宽度,而不是 contentView 的宽度。

这应该允许整个额外 View (以及所有漂亮的小 subview )在进入编辑模式时整体向右移动并且出现删除图标。

但这可能会带来一个新的问题。一旦用户点击删除图标,单元格将在右侧显示一个删除按钮。因此,您可能需要重做约束,以便设置右 anchor 而不是左 anchor 。这种约束变化可能需要在自定义单元格的 willTransition 方法中完成。

我确定有一些细节需要解决,但这应该为您指明正确的方向。

关于ios - 如何在编辑模式下维护自定义 UITableViewCell 内部控件布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com