Hen*_*own 7 popup uiviewcontroller presentviewcontroller swift
我有一个xib文件,我在UIView上创建了一个弹出控制器.当在视图控制器1上按下按钮时,此弹出控制器会动画.然后我在UIView上有一个按钮,按下时我想要呈现另一个视图控制器(视图控制器2).代码看起来像:
class PopUpViewControllerSwift : UIViewController {
@IBAction func goToVC2(sender: UIButton) {
self.removeAnimate()
let VC2: VC2 = self.storyboard?.instantiateViewControllerWithIdentifier("VC2") as VC2
var modalStyle: UIModalTransitionStyle = UIModalTransitionStyle.CoverVertical
VC2.modalTransitionStyle = modalStyle
presentViewController(VC2, animated: true, completion: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
虽然按下按钮时它会崩溃,没有错误或回调或任何东西.显然,如果它只是一个普通的视图控制器,这通常会起作用,但是因为我在一个弹出的视图中进行了操作,它已经在另一个视图上进行了动画我认为这是问题所在?
有人可以帮忙吗?
谢谢
Mic*_*ael 12
我是用一种UICollectionView didSelectItemAtIndexPath方法做到的.
// Register Nib
let newViewController = NewViewController(nibName: "NewViewController", bundle: nil)
// Present View "Modally"
self.presentViewController(newViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
我设置ID的ViewController,以相同的文件名,所以我就一定要引用的权利ViewController.
小智 0
确保self.storyboard不为零。
还要确认这VC2是 Storyboard 文件中 ViewController 的身份之一。
我希望它可以帮助你。
如果 VC2 在故事板文件中,请尝试使用以下命令获取 VC2
let storyboard = UIStoryboard(name: "YourStoryboardName(maybe 'Main')", bundle: nil)
let vc2 = storyboard.instantiateViewControllerWithIdentifier("VC2") as VC2
Run Code Online (Sandbox Code Playgroud)
或者如果 VC2 在 nib 文件中,请尝试使用以下命令获取 VC2
let vc2 = VC2(nibName: "YourNibName", bundle: nil)