2014-11-23 26 views
11

我有一個單一的視圖應用程序,它連接到解析和驗證用戶登錄信息和更新UILabel說:「耶,你已成功登錄」 - 現在我想它導航到一個新的視圖(這將是應用程序的主要部分)。Swift:導航到新的ViewController使用按鈕

我已將一個新的視圖控制器拖到故事板上,並按住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文件

+0

你的if-else語句是什麼,它放在哪裏? – 2014-11-23 22:17:08

+0

@MattyAyOh已添加到原始問題 – DannieCoderBoi 2014-11-23 22:18:24

+0

的位是:self.messageLabel.text =「您已經登錄」; - 我想它重定向到一個新的視圖 – DannieCoderBoi 2014-11-23 22:18:46

回答

46

首先我在this answer解釋,你需要從拖動SEGUE整體UIViewController到下一個UIViewController,也就是說,如果轉換的條件:你不應該特別將UIButton(或任何IBOutlet)連接到下一個UIViewController:

storyboard segue

您還需要爲segue指定一個標識符。要做到這一點,您可以選擇SEGUE箭頭,然後在右側面板中輸入一個標識符:

segue identifier

然後執行實際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」是您在故事板中指定給您的segue的標識符。

+0

(是的,我會更新該映像,以反映在一秒鐘內最新的Xcode) – 2014-11-23 22:38:34

+0

我剛剛做到了,它並沒有要求我指定一個標識符?這又是一個步驟嗎?對不起,我是新來的ios開發 – DannieCoderBoi 2014-11-23 22:43:05

+0

啊找到了。它的工作原理。謝謝:) – DannieCoderBoi 2014-11-23 22:46:56

相關問題