2016-08-26 124 views
1

預條件(SWIFT):「開卷」從任意視圖控制器回到故事板的初始視圖控制器

  1. 我有在單個故事板許多視圖控制器的應用程序。
  2. 有一個導航控制器,但前幾個視圖控制器不在其中。 (我指出了這個B/C我不能只是「跳到根」在這裏。)
  3. 有一個「會話過期」事件,觸發x分鐘後。

使用案例:

無論哪個屏幕的用戶,如果我看到「會話過期」的通知,我想給用戶發送回我的故事板的初始視圖控制器。

我的問題:

我究竟怎樣才能做到,如果沒有每一個單一的視圖控制器上手動創建一個展開SEGUE?有什麼方法可以「擺脫」故事板的當前實例,並在開始時重新開始?

(我不是擔心記住他們目前的狀態並沒有什麼......這不要緊,這種情況下,它已過期,他們輸了,他們開始了。)

回答

1

你可以從你的故事板標識符「搶」相關的viewController之後 - 如爬完Araballi他回答說 - 設置您的AppDelegate上的window.rootViewController財產。 我認爲這種方法比在你已經擁有的UI之上呈現viewController更好。

1

這種情況的最佳解決方案將通過使用storyboard id導航到視圖控制器。

點擊main.storyboard並點擊viewcontroller。在身份檢查器啓用故事板使用故事板ID並給它一個ID。

let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let vc : UINavigationController = storyboard.instantiateViewControllerWithIdentifier("mainNavigationStoryBoard") as! UINavigationController 
self.presentViewController(vc, animated: true, completion: nil) 

只需使用上面的代碼導航到特定視圖 - 控制的sesssion過期

相關問題