将所有子视图移动到容器视图,保持位置和约束

时间:2014-03-11 16:41:51

标签: xcode cocoa-touch constraints autolayout xib

我在我的项目中使用Xcode 5和autolayout。我有一个.xib文件,它们之间有很多子视图和约束。现在我需要创建一个中间全屏容器视图并将所有子视图放在那里。现在我有view->subviews,我想要view->container view->subviews。当我在IB中通过将子视图拖动到容器视图中来执行此操作时,它们都会居中并且所有约束都会丢失。手动恢复所有约束会有点困难。是否有一种聪明的方法来保持所有子视图'位置和约束?

2 个答案:

答案 0 :(得分:18)

在Interface Builder中将容器视图添加到层​​次结构(以获取对象ID)并关闭视图。在文本编辑器中手动编辑.xib文件,并将所有子视图移动到容器视图下。在IB中创建约束,引用IB对象ID,因此您必须使用容器替换引用superview的约束;快速更换应该就足够了。

答案 1 :(得分:12)

你可以在Xcode 6中使用剪切和粘贴到一个单独的视图(你可以稍后将它拖到你真正需要的地方)。