2016-03-04 25 views
0

我將如何以編程方式更改在故事板中創建的segue的種類?如何以編程方式更改segue類?

我想根據設備類型更改賽格種類。對於.phone,應該執行類似「show」(推)的故事板segue。對於.pad我想將segue種類改爲「模態」。

我會在prepareForSegue中這樣做嗎?或者我是否必須停止在shouldPerformSegueWithIdentifier中執行segue並手動執行模態segue?

編輯:這個問題的重點是改變賽格類型,而不是如何識別設備類型。

回答

0

試試這個:

enum UIUserInterfaceIdiom : Int { 
    case Unspecified 
    case Phone // iPhone and iPod touch style UI 
    case Pad // iPad style UI 
} 

和領導viewDidLoad()

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let vc = storyboard.instantiateViewControllerWithIdentifier("vc2") as! myViewController 

    switch UIDevice.currentDevice().userInterfaceIdiom { 

    case .Phone: 
     self.presentViewController(vc, animated: true, completion: nil) 
     break 

    case .Pad: 
     self.showViewController(vc, sender: nil) 
     break 
    case .Unspecified: 
     // Do something 
     break 
    default: 
     // Do something 
    } 
+0

謝謝,我知道如何識別設備類型。我想知道如何改變賽格。也許這在我的文章中並不清楚,我會更新它。 – Manuel

+0

@Manuel您可能對presentViewController()和showViewController()函數感興趣 – Led