Ios 在超级视图中嵌入视图而不丢失自动布局约束
在ios应用程序中, 我有一个自定义UITableViewCell,其中包含许多视图。我正在使用自动布局,并根据需要设置所有约束 但现在我需要有一个主视图(在内容视图中),并将所有其他视图放在其中(某种程度上是所有视图的父视图) 以下是界面生成器中my cell的外观示例: 它具有使用约束设置的所有视图 我知道有一个xcode功能可以将选定视图嵌入父视图中: 因此,我选择所有视图并选择将它们嵌入到视图中。我得到以下信息: 我的问题 尽管视图正确嵌入到superview中,但autolayout约束已被删除,现在我必须重新创建它们 是否有一种方法可以将所有视图放在superview中,并具有相同的自动布局约束,而无需重新创建所有视图?Ios 在超级视图中嵌入视图而不丢失自动布局约束,ios,iphone,uiview,interface-builder,autolayout,Ios,Iphone,Uiview,Interface Builder,Autolayout,在ios应用程序中, 我有一个自定义UITableViewCell,其中包含许多视图。我正在使用自动布局,并根据需要设置所有约束 但现在我需要有一个主视图(在内容视图中),并将所有其他视图放在其中(某种程度上是所有视图的父视图) 以下是界面生成器中my cell的外观示例: 它具有使用约束设置的所有视图 我知道有一个xcode功能可以将选定视图嵌入父视图中: 因此,我选择所有视图并选择将它们嵌入到视图中。我得到以下信息: 我的问题 尽管视图正确嵌入到superview中,但autolayo
谢谢您是否尝试过创建容器视图的约束?您不需要重新创建所有约束
它们看起来不正确,因为它们失去了父约束。如上所述,这种方法对我很有效: 简言之,方法是:
和
标记中的所有内容
和
标记的内容
中新容器的ID替换步骤9中得到的旧ID这将打破您可能设置的任何限制。其他事物、观点等的出口。。。一切正常。在xib的顶层创建一个新视图。然后将现有视图拖到其中。现有的限制仍然存在。您只需为嵌入设置新的约束。
- 选择所有视图
- 转到编辑器->嵌入到->视图
- 再次选择所有视图
- 添加新约束,将顶部、底部、前导、尾部固定为0
您可能想查看我不想将此设置为答案,因为当我在自己的项目中尝试此方法时,没有成功。我希望这会有帮助。这仍然很有效。在我的例子中唯一不同的是,我需要用新容器视图的id替换“安全区域”的id,因为所有约束最初都是针对它的,而不是视图控制器父视图…注意:如果您有大小类变化,则必须在移植中包含
块。您是一个救生员。我手动添加到父视图中,并且不得不再次重新设置所有约束。这使事情变得更容易。还有一点需要注意:在选择视图时,不要选择整个层次结构的安全区域或根视图