如何以编程方式在 AppDelegate 中设置 Initial viewController?
How to set the Initial viewController in AppDelegate Programatically?
我知道这个问题被问过几次,但我尝试了所有的解决方案,但没有一个对我有用。
我目前正在处理一个 iOS 项目并遇到了问题。
我正在构建一个在首次启动时需要一些个人信息的应用程序。因此,我使用 NavigationController
,我将其设置为 Storyboard 中的 Initial View Controller
。
现在我想在我的 AppDelegate 中检查用户是否已经输入了个人数据。在这种情况下,我创建了一个 User Defaults KV Pair called "onboarding" of type Bool
如果值为 true
,我想将 Initial View Controller 更改为主 TabBarController
,应用程序的其余部分使用。
我希望这张图片可以说明我上面的意思:
希望你能想办法解决这个问题
非常感谢您的提前帮助。祝你有美好的一天!
1) 打开你的 AppDelegate.swift 并添加 属性
var window: UIWindow?
2) 在
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
a) 初始化此 window:
window = UIWindow(frame: UIScreen.main.bounds)
b) 将您需要的 UIViewController 设置为 window
的 rootViewController 属性:
window?.rootViewController = myViewController
c) 使这个 window 键可见:
window?.makeKeyAndVisible()
就是这样。
并且不要忘记从目标设置中删除故事板:
Remove storyboard from target
希望对您有所帮助。
我知道这个问题被问过几次,但我尝试了所有的解决方案,但没有一个对我有用。
我目前正在处理一个 iOS 项目并遇到了问题。
我正在构建一个在首次启动时需要一些个人信息的应用程序。因此,我使用 NavigationController
,我将其设置为 Storyboard 中的 Initial View Controller
。
现在我想在我的 AppDelegate 中检查用户是否已经输入了个人数据。在这种情况下,我创建了一个 User Defaults KV Pair called "onboarding" of type Bool
如果值为 true
,我想将 Initial View Controller 更改为主 TabBarController
,应用程序的其余部分使用。
我希望这张图片可以说明我上面的意思:
希望你能想办法解决这个问题
非常感谢您的提前帮助。祝你有美好的一天!
1) 打开你的 AppDelegate.swift 并添加 属性
var window: UIWindow?
2) 在
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
a) 初始化此 window:
window = UIWindow(frame: UIScreen.main.bounds)
b) 将您需要的 UIViewController 设置为 window
的 rootViewController 属性:
window?.rootViewController = myViewController
c) 使这个 window 键可见:
window?.makeKeyAndVisible()
就是这样。 并且不要忘记从目标设置中删除故事板: Remove storyboard from target
希望对您有所帮助。