我有一个单一 View 应用程序,该应用程序可以解析和验证用户登录信息并更新UILabel,说“是的,您已成功登录”-现在,我希望它导航到新 View (这将是该应用程序)。

我将一个新的 View Controller 拖到 Storyboard 上,然后按住Ctrl并拖动按钮,并使用 show 将其链接到新 Controller 。但是,当我加载应用程序并单击按钮时,它会直接进入新 View 。我只需要在if-else语句的正确部分被触发时才去那里。

这有意义吗?谢谢大家的帮助。非常感激。

编辑

if语句为:

if usrEntered != "" && pwdEntered != "" {
        PFUser.logInWithUsernameInBackground(usrEntered, password:pwdEntered) {
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                self.messageLabel.text = "You have logged in";
            } else {
                self.messageLabel.text = "You are not registered";
            }
        }
    }

及其位于ViewController.swift文件中

最佳答案

首先,正如我在this answer中解释的那样,您需要将segue从整个UIViewController拖到下一个UIViewController,即,如果转换是有条件的,则您不应该将UIButton(或与此有关的任何IBOutlet)专门连接到下一个UIViewController:

您还需要为segue分配一个标识符。为此,您可以选择segue箭头,然后在右侧面板中输入一个标识符:

然后,要执行实际的segue,请在您的条件内使用performSegueWithIdentifier函数,如下所示:

if user != nil {
    self.messageLabel.text = "You have logged in";
    self.performSegueWithIdentifier("segueIdentifier", sender: self)
} else {
    self.messageLabel.text = "You are not registered";
}

其中“segueIdentifier”是您在 Storyboard 中分配给您的segue的标识符。

关于ios - Swift:使用按钮导航到新的ViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27094923/

10-12 16:27
查看更多