您好我找到了一个很棒的教程来显示我的应用程序的概述。在查看本教程视图后,您将如何返回主应用程序? 以下是本教程的位置以及所有source code。
我的应用视图在故事板中,我有一个导航控制器,其中包含我的rootviewcontroller。 我希望在显示教程视图的最后一页后返回导航控制器的rootviewcontroller。 如果你能提供帮助,谢谢你。
这是我的故事板: 我用来加载教程的代码是AppDelegate中的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
/* This loads up the xib but I can't get back to the storyboard rootViewController */
if (tutorialHasBeenSeen == false) {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.appViewController = [[APPViewController alloc] initWithNibName:@"APPViewController" bundle:nil];
self.window.rootViewController = self.appViewController;
[self.window makeKeyAndVisible];
tutorialHasBeenSeen =TRUE;
}
return YES;
}
我是否会尝试在方法中弹出到AppViewController.m中的rootView:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController {
NSUInteger index = [(APPChildViewController *)viewController index];
index++;
if (index == 5) {
return nil;
}
return [self viewControllerAtIndex:index];
}
答案 0 :(得分:1)
您是否尝试过使用
[self.navigationController popToRootViewControllerAnimated:YES];
修改强>
现在,我知道你要做什么,我建议改变你的方法: 如果您不应该选择是否应该在应用程序委托中的didFinishLaunchingWithOptions方法中提供 Tutorial ,为什么不总是从应用程序的第一个视图控制器开始,并在此确定是否用户应该使用 Tutorial 进行显示,这样您就可以在已建立的显示分层内容的导航方式中调用第一个视图控制器中的 Tutorial 视图控制器。
您无法从教程转到第一个视图控制器的原因是您将教程指定为窗口视图控制器直接来自app delegate。因此,无法从教程向第一个视图控制器“返回”,要解决此问题,我可以考虑两个选项,< / p>
作为结论,
1.不要从AppDelegate出示您的教程,因此请保持以下方法清洁或根据需要执行其他操作。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
2.从将作为第一个视图控制器的视图控制器,使用segues或code调用您的教程,应用您想要的逻辑来确定用户何时应该看教程。如果在应用启动时正确完成并且教程出现,则您首先显示第一个视图控制器
将不可见3.从您的 Tutorial 视图控制器,在所需的时刻dismiss或pop(取决于您的导航)您的视图控制器,以便您可以返回到第一个视图控制器