首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在编辑模式下维护自定义UITableViewCell的内部控件布局?

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

Stack Overflow用户
提问于 2019-05-24 07:04:58
回答 1查看 23关注 0票数 0

我有一个自定义的UITableViewCell子类,带有几个多行标签,自动布局等。我约束了多行标签,使它们的尾部边缘小于单元格内容视图的尾部边缘,以便它们正确换行。据我所知,这一切都运行正常。

但是,当我将表视图置于编辑模式时,我遇到了一个问题。我希望发生的是单元格的内容向右移动,以便在不改变布局的情况下为删除控件腾出空间。实际发生的情况是,单元格的内容视图似乎缩小了大小,以便为删除控件腾出空间。这会导致标签重排其内容,有时还会在标签试图更改其高度时导致布局混乱。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-24 08:13:34

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

一个想法是在单元格的contentView中添加一个额外的视图。这个额外的视图应该包含所有布局良好的子视图。

设置此额外视图的约束,以便将左锚点绑定到contentView的左锚点。但是设置这个额外视图的宽度来匹配单元格的宽度,而不是contentView的宽度。

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56283937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档