【发布时间】:2015-04-29 12:07:19
【问题描述】:
我只想在我的应用首次启动时显示条款和条件。
目前我正在didFinishLaunchingWithOptions 中编写我的代码。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Handle launching from a notification
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
NSLog(@"Already Run");
}
else
{
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
[[NSUserDefaults standardUserDefaults] synchronize];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
FirstPage * termsView = [storyboard instantiateViewControllerWithIdentifier:@"FirstPage"];
UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:termsView];
self.window.rootViewController=navController;
// This is the first launch ever
}
}
更新::
当我的应用程序第一次在TERMSandCONDITIONSVC 中启动时我想要什么我有一个Accept 按钮。当用户Accepts 同意时,只有他允许走得更远。
上面代码的问题:
当我第一次运行我的应用程序时,TermsandCondition 显示给我。我按下主页按钮,应用程序进入后台。我再次从启动器打开应用程序,TermsandCondtion 显示。
但是当我将我的应用程序置于后台并通过双击主页按钮将其从后台删除并运行应用程序时,我会直接转移到我的主屏幕。
没有条款和条件。
我该如何恢复。
【问题讨论】:
-
应用程序需要一个视图作为根视图控制器,因此无论是否存在其他条件,您都需要设置根视图控制器。这意味着您还需要在 if 条件下设置 RootView Controller
-
@AadilKeshwani 看我的故事板..我已经设置好了。我只想在我的应用程序第一次运行时更改它。看我的截图
-
您可以尝试以下代码:
FirstPage * termsView = [self.storyboard instantiateViewControllerWithIdentifier:@"termsView"]; UINavigationController *navController=[[UINavigationController alloc]initWithRootViewController:termsView]; self.window.rootViewController=navController;确保将termsView作为storyboard id
标签: ios objective-c xcode uinavigationcontroller