简体   繁体   中英

How to dismiss VIewController iOS Swift

I am new to iOS development. I am developing an application using iOS Swift. I have 3 view controllers viewController1, viewController2, viewController3. When I click from viewController1 its move to viewController2. By using the following code

let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let secondViewController = storyboard.instantiateViewControllerWithIdentifier("viewController2")
        presentViewController(secondViewController, animated: false, completion: nil)

Now I am moving from viewController2 to viewController3 by using the following code

performSegueWithIdentifier("viewController3", sender: scoreColorArray);

It's all fine. Now I want to back from viewController3 to viewController1. My problem it is not going to viewController1 it is going to viewController2. I know the reason viewController2 not dismissed.

I want to dismiss the current view controller and start new one . How can I do it? I know there is some ways to do it, please someone help me to finds the issue.

由于您的演示文稿顺序为VC1 - > VC2 - > VC3需要调用self.presentingViewController?.presentingViewController?.dismissViewControllerA‌​animatedVC3 ,穿越这样你在相反的顺序。

You can achieve it by using delegate.

  • You send delegate call from controller 2 to controller 1 for dismiss controller 2.
  • After dismiss success, you will push controller 3 from controller 1

You can look my demo for this case: Demo Pushview

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM