从popoverPresentationController导航到新的ViewController

问题描述:

我有两个viewCcontroller,FirstViewController和SecondViewController。现在我在FirstViewController中显示了一个popoverpresentationcontroller,它有一个按钮,它包含几个用户输入的textFields。现在,一旦按钮被点击,我想导航到SecondViewController并传递数据。但我无法导航到第二个视图控制器。如果我从popoverpresentationcontroller的按钮使用segue到SecondViewController,它会成功导航,但我想通过编程来实现。有关如何做到这一点的任何帮助?从popoverPresentationController导航到新的ViewController

这是我的按钮,单击代码

@IBAction func goTo(_ sender: UIButton) { 

    let storyBoard = UIStoryboard(name: "Main", bundle: nil) 
    let destination = storyBoard.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController 
      destination.flag = flag 
      sender: sender) 


     self.navigationController?.pushViewController(destination, animated: true) 

     } 
    } 

} 

你不能浏览,因为有呈现视图控制器

上没有navigation controller所以,你首先必须添加navigation controller然后就可以进行导航。

let nav1 = UINavigationController() 
nav1.viewControllers = [self] 
nav1.pushViewController(child, animated: true) 

我只是清理你的代码。

@IBAction func goTo(_ sender: UIButton) {  
    let destinationViewController = storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController 
    destinationViewController.flag = flag 
    self.navigationController?.pushViewController(destinationViewController, animated: true) 
} 

也请注意来设置的viewController在Main.storyboard

enter image description here