为我现有的项目添加一个“教程屏幕”。如何? [关闭]

Posted

技术标签:

【中文标题】为我现有的项目添加一个“教程屏幕”。如何? [关闭]【英文标题】:Adding a "tutorial screen" for my existing project. How? [closed] 【发布时间】:2014-01-06 15:59:12 【问题描述】:

我有一个项目,有很多视图控制器、导航和标签栏控制器。

如何向我的应用程序添加一个“教程屏幕”,它会在主屏幕出现之前运行? 我找不到这样做的方法,但我不想仅仅因为它而重新制作整个应用程序。

有解决办法吗?

谢谢!

【问题讨论】:

【参考方案1】:

这取决于您的视图是如何设置的,如果您使用故事板等,但通常在 AppDelegate.m 中执行此类操作:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions     
   TutorialViewController *tutorialViewController = [[TutorialViewController alloc] initWithNibName:@"TutorialViewController" bundle:nil];
   self.window.rootViewController = tutorialViewController;
   [window makeKeyAndVisible];
   return YES;


-(void) loadFirstView 
    FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    self.window.rootViewController = firstViewController;

在您的 TutorialViewController 中调用 AppDelegate 将 window.rootViewController 更改为您的 FirstViewController。

//TutorialViewController.m
-(void) showFirstView  
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate loadFirstView];

【讨论】:

谢谢!我要试试看!如果我不能解决它,我会回来寻求帮助,谢谢!您能否也写下“调用 AppDelegate”? 谢谢!你真是太好了! 不幸的是,我收到一条错误消息:由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法在包中加载 NIB:“NSBundle ...(已加载)”,名称为“TutorialViewController” .在情节提要上,为它的视图控制器选择了“TutorialViewController”类,并且它的 .h 文件也包含“initWithNibName”部分,所以它应该可以工作......但它没有。对于这一行,我收到一条错误消息:[window makeKeyAndVisible]; ,所以我将其更正为 [self.window makeKeyAndVisible]; 奇怪...当我不使用故事板添加 ViewController,但我也创建了 .xib 文件时,它就像一个魅力...我能不能让它与故事板一起工作也一样? 是的,看来,我不能混合使用情节提要和使用 .xib 文件。应用程序启动后,.xib 文件 (TutorialViewController) 加载成功,但是当我单击其上的按钮(调用 showFirstView 方法)时,我收到“无法在包中加载 NIB ...”错误消息...有什么想法吗?

以上是关于为我现有的项目添加一个“教程屏幕”。如何? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将现有的 vue js 应用程序添加到我现有的 .net 核心项目中?

如何在我现有的 Vue2 项目中清楚而分开地使用来自 vuetify 的组件

如何将窗口过程关联到我现有的对话窗口

无法将核心数据文件添加到我现有的项目(版本控制问题)...?

如何在 Ruby 中向 RDoc 添加现有注释? [关闭]

如何在 Android Studio 中正确更改我现有的项目名称?