为我现有的项目添加一个“教程屏幕”。如何? [关闭]
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 的组件