我有一个应用程序,我希望在首次启动时显示教程。为了使用[NSUserDefaults standardUserDefaults]
,它工作正常。以下是我在AppDelegate.m中实现它的方法
//Set windows
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//Set Storyboard
UIStoryboard* storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard"
bundle:nil];
//Check if it's first launch or not
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
self.homeViewController = [storyBoard instantiateViewControllerWithIdentifier:@"HomeViewController"];
self.rootVC = self.homeViewController;
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
self.tutoViewController = [storyBoard instantiateViewControllerWithIdentifier:@"TutoViewController"];
self.rootVC = self.tutoViewController;
}
self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:self.rootVC];
[self.window makeKeyAndVisible];
我的问题是在教程之后,当我按下“HomeViewController”时,我有一个带后退按钮的导航栏。我想隐藏它,但我认为它不是很干净,我想知道它可能是一个更好的技巧。
希望你能帮助我! Thx提前
答案 0 :(得分:1)
如果您正在使用故事板,为什么不轻松自己并删除上述功能并使用故事板来管理您的观点。将故障板中的UINavigationController设置为起始视图,通过按住控件并拖动到根视图控件然后处理第一个视图控制器的viewWillAppear中的模态弹出逻辑,将所需的第一个视图控制器添加为根视图控制器