 <p>Add: <code>import Foundation</code></p> <p>Then add an outlet:</p> <p><code>class ViewController: UIViewController { @IBOutlet weak var topConstraint: NSLayoutConstraint! ... } </code> Then change the value to 0 when the view disappears and then to 20 when it will appear:</p> <pre><code>override func viewWillAppear(animated: Bool) { topConstraint.constant = 20.0 } override func viewWillDisappear(animated: Bool) { topConstraint.constant = 0.0 } </code></pre> <p>Full code (make sure to remember to connect the constraint to the outlet):</p> <pre><code>import UIKit import Foundation class ViewController: UIViewController { @IBOutlet weak var topConstraint: NSLayoutConstraint! let controllerTransition = InteractiveControllerTransition(gestureType: .Pan) let controllerTransitionDelegate = ViewController2Transition() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. controllerTransition.delegate = controllerTransitionDelegate controllerTransition.edge = .Bottom } override func viewWillAppear(animated: Bool) { topConstraint.constant = 20.0 } override func viewWillDisappear(animated: Bool) { topConstraint.constant = 0.0 } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func unwindToViewController(sender: UIStoryboardSegue) { } override func prefersStatusBarHidden() -&gt; Bool { return false } @IBAction func helloButtonAction(sender: UIButton) { // let storyBoard = UIStoryboard(name: "Main", bundle: nil) // let vc = storyBoard.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2 // // vc.transitioningDelegate = controllerTransition // controllerTransition.toViewController = vc // // self.presentViewController(vc, animated: true, completion: nil) let storyBoard = UIStoryboard(name: "Main", bundle: nil) // let nvc = storyBoard.instantiateViewControllerWithIdentifier("NavigationViewController2") as! UINavigationController // let vc = nvc.topViewController as! ViewController2 let vc = storyBoard.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2 // nvc.transitioningDelegate = controllerTransition vc.transitioningDelegate = controllerTransition controllerTransition.toViewController = vc // self.presentViewController(nvc, animated: true, completion: nil) self.presentViewController(vc, animated: true, completion: nil) } } </code></pre>