Suppose, on my window i have 3 views, main one in the background and 2 up front.
Each view up front contains some content, i’d like to be moved as part of a view upon touch. By “moved” i mean “rearrange positions relative to another view”. Upon touch, i’d like to “pick up the view with all of it’s content and place it in the position currently occupied by another view”

Where would you get started on something like this?
First you need to create a GestureRecognizer. Something along the lines of:
and add it to whatever view you want (or all three). From the sounds of it your main background view makes the most sense. Then create the doubleTap method, which will make one of your views move to where the other is:
I would also make sure all your subview content has its autoresizingMask set according to how you want the subviews to behave.