以编程方式调用segue不起作用

时间:2014-09-11 01:11:34

标签: ios swift xcode6

我正试图制作一个闪屏。我有一个视图,有一个背景图像被绘制到它上面,然后我想要在几秒钟后转换到另一个视图。我正在尝试使用以下代码:

self.performSegueWithIdentifier("showApp", sender: self)

我通过ctrl +在一条线之间拖动一条线来在两个视图之间创建一个segue。我将segue的标识符设置为“showApp”。

当我运行代码时没有任何反应,也没有错误。有什么想法吗?

以下是启动画面的控制器:

class SplashViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        sleep(2)

        // THIS DOES NOTHING:
        self.performSegueWithIdentifier("showApp", sender: self)

        // THIS AS SUGGESTED ALSO DOES NOTHING:
        var otherViewController:UIViewController = self.storyboard.instantiateViewControllerWithIdentifier("test") as UIViewController
        self.presentViewController(otherViewController, animated: true, completion: nil)
    }
}

enter image description here

1 个答案:

答案 0 :(得分:2)

通常,您需要一个导航控制器才能使用segue。

在Storyboard中突出显示您的SplashViewController对象,然后转到

编辑 - >嵌入 - >导航控制器

enter image description here

之后,删除Clement建议的代码并再次尝试运行项目,您应该得到您期望的结果。