在层次结构中移动UIView时保留位置(就地粘贴)

时间:2012-08-20 08:17:02

标签: xcode4 interface-builder

在Xcode 4 IB中有没有办法将一堆子视图从一个超级视图移动到另一个超级视图而不破坏它们的当前布局?

这应该非常简单,但是当我尝试在视图树中复制/粘贴或移动它们时,它们都移动到一个位置。例如,在添加一个额外的视图来保存表单的一部分之后,我宁愿不要手动重新定位它们。

在Flash中有“Cmd-Shift-C”用于“就地粘贴”。我在IB寻找类似的东西。

2 个答案:

答案 0 :(得分:21)

我遇到与OP相同的问题,但我在另一个线程上找到了一个很好的解决方案。回答杰伊: https://stackoverflow.com/a/16952902/2070758

基本上,您不能直接复制/粘贴,但可以采取一些额外的步骤:

  1. 选择要移至新超级视图的所有视图,标签等
  2. 编辑 - >嵌入视图
  3. 将新创建的“容器”视图移动到您要粘贴到原始的视图
  4. 选择“容器”视图。编辑 - >解除嵌入。所有元素都将被转储到超级视图中,从而保持布局。

答案 1 :(得分:4)

正在寻找解决xCode同样令人讨厌的限制的方法......找到了一个技巧:

  • 在IB中创建一个新的UIViewController
  • 将所有内容粘贴到其根视图中,位置应保留
  • 将此根视图复制并粘贴到您需要的任何位置,

为我工作但是geeesh多么痛苦。