我有一个Main.storyboard
包含我的应用程序的根视图控制器。但是,我想在首次启动应用程序时显示一个加载视图(没有导航控制器),以便用户填充仅需要一次的某些数据。因此,我正在考虑创建一个Onboarding.storyboard
,但我不知道如何选择要设置的情节提要,在哪里进行设置(AppDelegate
?),以及何时填充数据以及如何更改当前的情节提要。
谢谢你的帮助。
对于Swift 3.x,请尝试此操作,确保在两个故事板上都设置了Initial View Controller。在您的AppDelegate.swift
文件中,application:didFinishLaunchingWithOptions
var storyboardName:String?
if someCondition {
storyboardName = "Onboarding"
}else{
storyboardName = "Main"
}
let storyboard = UIStoryboard(name: storyboardName, bundle: nil)
let intialVC = storyboard.instantiateInitialViewController()
self.window?.rootViewController = intialVC
Run Code Online (Sandbox Code Playgroud)
您需要在 AppDelegate 的 didFinishLaunchingWithOptions 方法中更改此设置。每次应用程序启动期间都会调用此方法。
如何:
考虑这个例子。存储值NSUserdefaults
并在应用程序启动期间检索它。
例子
目标C:
BOOL isCompletedSetupWizard =[[NSUserDefaults standardUserDefaults] boolForKey:@"isCompletedSetupWizard"];
if (isCompletedSetupWizard)
{
//Your code goes here
//....
//....
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
viewController = [storyboard instantiateViewControllerWithIdentifier:@"yourFirstView"];
self.window.rootViewController = viewController;
}
else
{
//Your code goes here for another view controller.
//....
//....
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"onBoarding" bundle:nil];
viewController = [storyboard instantiateViewControllerWithIdentifier:@"yourSecondView"];
self.window.rootViewController = viewController;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2358 次 |
最近记录: |