Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Preserve position when moving UIView in hierarchy (paste-in-place)

in Xcode 4 IB is there a way to move a bunch of subviews from one superview to another without destroying their current layout?

This should be super easy, but when I try to copy/paste or move them in the view tree they all move to one position. I'd prefer not to reposition each of them manually after adding one extra view to hold part of a form for example.

In Flash there is Cmd-Shift-C for 'paste in place'. I'm looking for something similar in IB.

like image 748
konrad Avatar asked Aug 20 '12 08:08

konrad


People also ask

What is UIView in swift?

The UIView class is a concrete class that you can instantiate and use to display a fixed background color. You can also subclass it to draw more sophisticated content.


2 Answers

I had the same problem as OP, but I found a great solution on another thread. Answer by Jay: https://stackoverflow.com/a/16952902/2070758

Basically, you can't copy/paste directly, but you can with some extra steps:

  1. Select all views, labels etc, you want to move to the new super view
  2. Editor -> embed in view
  3. Move the newly created "container" view to the view you wanted to paste to originally
  4. Select the "container" view. Editor -> unembed. All the elements will be dumped into the super view, maintaining the layout.
like image 94
arinmorf Avatar answered Nov 10 '22 19:11

arinmorf


Was looking for the solution to the same annoying limitation in xCode... found a trick:

  • Create a new UIViewController in IB
  • Paste all your stuff in its root view, the positions should be preserved
  • Copy and paste this root view where ever you need it,

worked for me but geeesh what a pain.

like image 38
zukanta Avatar answered Nov 10 '22 19:11

zukanta