即使有内容,View Controller也会变黑

时间:2019-01-05 19:46:15

标签: ios swift viewcontroller

因此,当我单击另一个View Controller中的按钮时,应该显示下一个View Controller。但是,单击按钮时,即使其中包含内容,它也只会以黑屏显示下一个View Controller。我该如何解决?

我确实知道已经问过类似的问题,但是没有一个问题帮助我解决了这个问题。

按钮点击的代码:

@IBAction func onSignUp(_ sender: Any) {
    presentDetail(SignUpViewController())
}

呈现下一个View Controller和动画代码:

   extension UIViewController {


        func presentDetail(_ viewControllerToPresent: UIViewController) {
            let transition = CATransition()
            transition.duration = 0.25
            transition.type = CATransitionType.push
            transition.subtype = CATransitionSubtype.fromRight
            self.view.window!.layer.add(transition, forKey: kCATransition)

            self.present(viewControllerToPresent, animated: false)
        }

        func dismissDetail() {
            let transition = CATransition()
            transition.duration = 0.25
            transition.type = CATransitionType.push
            transition.subtype = CATransitionSubtype.fromLeft
            self.view.window!.layer.add(transition, forKey: kCATransition)

            dismiss(animated: false)
        }



}

为澄清起见,presentDetail函数假设要向下一个View Controller展示动画(如右图所示),如代码所示。

1 个答案:

答案 0 :(得分:1)

在演示它之前,您需要从Storyboard实例化目标ViewController。

@IBAction func onSignUp(_ sender: Any) {

presentDetail(

storyboard?.instantiateViewController(withIdentifier: "putyourIdentifierhere"))
}

instantiateViewController函数返回要显示的Viewcontroller。