如果在自动布局中删除子视图,则重新排列 UIView 子视图

Posted

技术标签:

【中文标题】如果在自动布局中删除子视图,则重新排列 UIView 子视图【英文标题】:Rearrange UIView Subviews if a Subview is removed in Auto Layout 【发布时间】:2013-05-06 13:12:40 【问题描述】:

我需要在全自动布局环境中实现拖放控制器。 我已经成功实现了拖放,但问题是如果我从另一个视图中拖动一个子视图,其他相关子视图的行为会很奇怪, 例如,子视图在滚动视图中水平布局是相互关联的,所以如果我删除一个子视图,其他视图应该会自动重新排列它们。

问候, 达内什。

【问题讨论】:

【参考方案1】:

当您进行 xib 的设计部​​分时,请取消选中自动布局。 完成设计后,进入自动布局并使用约束添加排列视图。

【讨论】:

这将如何影响重新排列视图所需的运行时操作?此外,我正在开发一个用于拖放的通用控制器,这样我就可以在任何地方使用它,而不管 .xibs 是什么。 您需要修复一个视图并在该视图上添加您的控制器。 嗯很有趣,但我宁愿使用通用方法,这样我就不必照顾 xib 和使用我的控制器的大小。任何方式谢谢。

以上是关于如果在自动布局中删除子视图,则重新排列 UIView 子视图的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局删除和重新添加子视图

在视图期间更改后重新排列自动布局

IBDesignable - 排列通过界面生成器添加的子视图

使用自动布局进行编辑时在表格视图中调整子视图的大小

根据最大的子视图使用自动布局调整超级视图的大小

自动布局子视图在 Swift 4 中添加问题