2015-07-10 114 views
0

因此,我創建了一個包含基本邏輯的登錄頁面。如果用戶名和/或密碼爲空,則顯示錯誤消息。如果它們已滿,則轉換到下一頁(主頁)。我創建了一個第二的ViewController上的腳本中,創造了SecondViewController」我然後限定的相應的ViewController類。‘SecondViewController’使用按鈕從一個視圖控制器轉換到另一個視圖控制器

在第一ViewController.swift文件,我使用此代碼:

func transition(Sender:UIButton!) 
{ 
    let secondViewController: SecondViewController = SecondViewController() 
    self.presentViewController(secondViewController, animated:true, completion:nil) 

} 

然而,當我測試它時,按下登錄按鈕(當用戶名和密碼都填滿後)將我轉移到黑屏而不是第二個視圖控制器。有什麼想法做什麼?

回答

1

如果你想在視圖包含的東西加到它的故事板,你可以給它一個故事板ID(一下面的幾個框,您可以在故事板中設置視圖控制器的類)。

如果你給它例如ID「secondVC」你可以創建使用以下它:

let secondViewController = storyboard?.instantiateViewControllerWithIdentifier("secondVC") as? SecondViewController 
+0

這工作!非常感謝! –

1

你不能使用默認的初始化方法初始化視圖控制器。

您應該在故事板中創建一個視圖控制器場景,在其上添加一個唯一的標識符,使用instantiateViewControllerWithIdentifier:實例化它,然後像顯示它一樣進行顯示。

+0

可以_totally_使用默認初始化一個視圖控制器init方法,你只是不能指望視圖會從故事板中填充。 – paulrehkugler

+0

或根本沒有人口。它的視圖對象將是空白的。因此,唯一有用的視圖控制器類型是重寫loadView以手動創建視圖層次結構的視圖控制器。 –

+0

從XIB加載視圖控制器時存在相同的問題。你應該使用'initWithNibName:bundle:' –

1

您需要在Storyboard中的視圖控制器之間進行切換,並調用self.performSegueWithIdentifier()

或者你可以給你`的UIViewController的標識符和編程來表示它太:

let storyboard = UIStoryboard(name: "MyStoryboardName", bundle: nil) 
let secondViewController storyboard.instantiateViewControllerWithIdentifier("") as? SecondViewController 
if let secondViewController = secondViewController { 
    self.presentViewController(secondViewController, animated:true, completion:nil) 
} 
1

基本上有三種方法可以做到這一點

1)創建賽格瑞的故事板,但如果你從該項目

2單賽格瑞使用prepareforSegue和performSegue方法在呈現視圖控制器 覆蓋FUNC prepareForSegue(賽格瑞它只會工作):UIStoryboardSegue,發件人:AnyObject){

if segue.identifier == "YourIdentifier" { 
    let controller = segue.destinationViewController as!secondViewController 
} 

}

然後在你的IBAction爲使用此

performSegueWithIdentifier("YourIdentifier", sender:sender) 

3)(建議一)

let controller = self.storyboard?.instantiateViewControllerWithIdentifier("ContactsVC")! as! ContactsVC 

self.presentViewController(controller, animated:true, completion:nil 

相關問題