func presentPhotoViewController() {
let storyboard = UIStoryboard(name: "YourStoryBoardName", bundle: nil)
if let photoViewController = storyboard.instantiateViewController(withIdentifier: "PhotoViewControllerUniqueId") as? PhotoViewController {
// Pass any data you have (Optional)
self.present(photoViewController, animated: true, completion: nil)
// If your PhotoViewController is embeded in a navigation Controller do the following.
//let navController = UINavigationController(rootViewController: photoViewController)
//self.present(navController, animated: true, completion: nil)
}
2 回答
你还没有明白什么是一个放松的segue . 它只是一种反转创建当前视图控制器的调用并将其放入视图控制器层次结构的方法,在特殊情况下,您希望通过故事板中的segue触发它 .
例如,如果您(或故事板)调用了
pushViewController
(对于推送的视图控制器),则展开segue只是一种调用popViewController
的方法 .或者,如果您调用(或故事板)调用
present
(对于模态呈现的视图控制器),则展开segue只是一种调用dismiss
的方法 .如果您在故事板中没有视图控制器,则不需要展开segue;你只需要在代码中直接执行这两项操作中的一项 .
记住,我们都相处很好,没有放松的细分 . 事实上,我们都相处多年没有故事板!你也可以 .
如果您的原始PhotoViewController是在故事板上创建的,并且您希望从程序化制作的VC中转换回来,那么您可以使用它而不是展开它,因为unwindSegues仅适用于故事板 .
在这里展示您的PhotoViewController是其中一种方法 .
}