ios – Swift:使用按钮导航到新的ViewController

我有一个单一的视图应用程序,连接到解析和验证用户登录信息,并更新一个UILabel说“Yay,你已经成功登录” – 现在我要它导航到一个新的视图(这将是主要部分该应用程序).

我已经将一个新的视图控制器拖到故事板上,然后按住Ctrl键拖动该按钮并将其链接到新的控制器上.但是,当我加载应用程序并点击按钮时,它将直接转到新视图.如果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中解释,您需要将整个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”是您在故事板中分配给您的标识符的标识符.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...