通过按钮动作制作一个segue

时间:2014-12-19 11:18:46

标签: ios iphone swift ibaction

我正在尝试在屏幕上登录,当你按下登录时,它会检查用户名和密码,然后如果一切都好,它将转到下一个视图。

我有一个带有2个按钮的视图控制器,只是为了测试我是否可以通过按钮动作成功地转到另一个视图控制器。 1个按钮是我尝试以编程方式链接两个视图控制器而另一个按钮是通过模态链接的,并且它成功地在视图之间切换。

我的代码是第一个按钮,

    @IBAction func testButton(sender: UIButton) {
        performSegueWithIdentifier("nextView", sender: self)
    }

要切换到它的视图控制器的storyboardID确实是'nextView'

我收到错误'NSInvalidArgumentException',原因是:'Receiver没有带标识符的segue'nextView'

我已经清理了代码,并尝试从模拟器中删除该应用程序。

有关问题的任何建议?或者有更好的方法来制作登录屏幕吗?

4 个答案:

答案 0 :(得分:1)

您需要设置segue的标识符,而不是视图控制器的StoryboardID:

enter image description here

答案 1 :(得分:1)

为了使用自定义逻辑在按钮上执行segue,选择控制器一(不是按钮)控制拖放控制器二。选择segue并在storyboard中给出标识符值。然后,当您调用performSegueWithIdentifier时,它将起作用。

答案 2 :(得分:0)

试试这个UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainstoryBoard" bundle:nil]; ViewController* viewController = [storyboard instantiateViewControllerWithIdentifier:@"StoryBoardIdentifier"]; [[self navigationController] pushViewController:viewController animated:YES];

答案 3 :(得分:0)

performSegueWithIdentifier指的是segue的id,而不是您尝试加载的viewController的storyboardID。话虽这么说,您可以在视图控制器之间创建一个segue到目标视图控制器并使用performSegueWithIdentifier,或者您可以创建一个Storyboard实例并使用其instantiateViewControllerWithIdentifier方法,该方法将storyboardID作为参数。我在移动设备上发帖可能不太准确,但这应该可以帮到你。