Swift 更改 AppDelegate 中的 rootViewController 以呈現主要或登入入門流程
首先,當你處理多個流時,這就是可以有效使用 Storyboard 的地方。預設情況下,你的應用程式使用 Main.storyboard
作為主流。你的入職/替代流程可以包含在輔助故事板中,例如。Onboarding.storyboard
這有許多優點:
- 在開發人員團隊中,每個使用者流的工作可以分開
- 更清晰的原始碼控制(git)
- 關注點分離
當你的應用程式啟動時,你可以確定應該顯示哪個流程。這個邏輯可以包含在你的 AppDelegate 中:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let isFirstRun = true // logic to determine goes here
if isFirstRun {
showOnboarding()
}
return true
}
為了展示 Onboarding 流程,值得考慮一下,一旦使用它的人完成了旅程,你將如何處理解僱它的體驗,並且這對於你嘗試建立的內容在語義上是正確的。
處理辦法:
兩種主要方法是:
- 交換 App 主視窗的根檢視控制器
- 將 Onboarding 流作為模態旅程呈現,與主流重疊。
這個的實現應該包含在 AppDelegate 的擴充套件中。