[英]How to know which segue was used using Swift?
我有一個主viewController和一個detailsViewController。 detailsViewController有2個按鈕。 兩個按鈕都是segue回到主控制器,但我想根據使用的segue自定義主viewController。 檢查哪個segue用於到達viewController的最佳方法是什么,以便可以根據具體情況自定義主viewController? - 如果segue1通向主viewController,那么我想隱藏label1。 如果segue2通向主viewController,那么我想隱藏label2。
在主視圖控制器中創建一個變量,類似於
var vcOne : Bool = true
現在在DetailsViewController中
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "segue_one"
{
let mainVC : MainViewController = segue.destinationViewController as! MainViewController
secondVC.vcOne = true
}
else if segue.identifier == "segue_two"
{
let mainVC : MainViewController = segue.destinationViewController as! MainViewController
secondVC.vcOne = false
}
}
現在在MainView控制器中
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
//Now check here for which segue
if(vcOne)
{
// implement for button one click
}
else
{
// implement for button two click
}
}
希望它能幫到你
我會做些什么來檢查使用了哪個segue。 您必須在故事板中為segue設置標識符!
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "yourIdentifier" {
let yourVC = segue.destinationViewController as? yourViewController
//do magic with your destination
}
}
可以選擇為segue設置標識符。 這應該是唯一標識符。 這樣您就可以識別哪個segue被激活了。 例如:
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Identifier1" {
let firstVC = segue.destinationViewController as? FirstViewController
} else if segue.identifier == "Identifier2" {
let secondVC = segue.destinationViewController as? SecondViewController
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.