This will need a custom container view controller. In simple terms you have a view controller which holds 2 view controllers (View 1 on the left and View 2 on the right).
You attach a pan gesture to the containers view, and when the user moves, you calculate the appropriate frame for each of the sub view controllers. E.g. if the user is panning to the right, you will move the view 2 off to the right, and bring view 1 in from the left (calling the child view controller methods as needed).
When the gesture finishes you should check the final position in combination with the final direction of the pan to decide where you should place the view controllers. e.g. if you finish panning ot the right at 90% of view 1 on screen, you should move view 1 fully on screen and view 2 off screen. if you finish with 50% of each, you should use the direction of the pan to decide which view will remain on screen.