如何将 segue 标识符添加到以编程方式进行的模式转换?
How can I add a segue identifier to a programmatically modal transition?
我在主故事板中有一个控制器。当我点击一个按钮时,我调用了 displayBorneDetailsAction()
动作,它呈现了另一个故事板的模态视图。
当我呈现模态以将数据从主视图控制器传递到模态视图控制器(使用 prepareForSegue
)时,我会添加一个 Segue 标识符,但我不知道该怎么做。
我尝试使用 performSegue(withIdentifier:)
,但它没有以相同的方式呈现模态。
@IBAction func displayBorneDetailsAction(_ sender: Any) {
// open the modal of a borne
let storyboard : UIStoryboard = UIStoryboard(name: "Borne", bundle: nil)
let vc: BorneVC = storyboard.instantiateViewController(withIdentifier: "BorneVC") as! BorneVC
let navigationController = UINavigationController(rootViewController: vc)
navigationController.modalPresentationStyle = UIModalPresentationStyle.overFullScreen
navigationController.edgesForExtendedLayout = []
self.present(navigationController, animated: true, completion: nil)
}
您不能将标识符添加到编程序列,因为您可以访问正在显示的控制器实例。只需在呈现它的功能中使用控制器做任何您想做的事情。
我在主故事板中有一个控制器。当我点击一个按钮时,我调用了 displayBorneDetailsAction()
动作,它呈现了另一个故事板的模态视图。
当我呈现模态以将数据从主视图控制器传递到模态视图控制器(使用 prepareForSegue
)时,我会添加一个 Segue 标识符,但我不知道该怎么做。
我尝试使用 performSegue(withIdentifier:)
,但它没有以相同的方式呈现模态。
@IBAction func displayBorneDetailsAction(_ sender: Any) {
// open the modal of a borne
let storyboard : UIStoryboard = UIStoryboard(name: "Borne", bundle: nil)
let vc: BorneVC = storyboard.instantiateViewController(withIdentifier: "BorneVC") as! BorneVC
let navigationController = UINavigationController(rootViewController: vc)
navigationController.modalPresentationStyle = UIModalPresentationStyle.overFullScreen
navigationController.edgesForExtendedLayout = []
self.present(navigationController, animated: true, completion: nil)
}
您不能将标识符添加到编程序列,因为您可以访问正在显示的控制器实例。只需在呈现它的功能中使用控制器做任何您想做的事情。