首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS应用程序中演示演练

在iOS应用程序中演示演练
EN

Stack Overflow用户
提问于 2014-04-23 17:12:30
回答 2查看 2.8K关注 0票数 3

我正在推出我的应用程序的第2版,需要一个新功能的简短演练。我阅读了一篇教程,并在另一个应用程序中创建了我的演练,其中有一个UIViewController,即根视图,一个UIPageViewController,其中包含一个UIView,在其中显示屏幕。我想怎么做就怎么用。

现在我想把它集成到我的应用程序中。我可以很容易地从示例应用程序导入我的代码。

我相信应用程序委托,我会看到用户是否已经通过了演练,如果没有,切换到启动演练的UIViewController,并将用户已经看到演练的默认值写入其中(这样他们就不需要再看到它了)。我在演练中有一个按钮可以进入主屏幕。

方法"applicationdidFinishLaunchingWithOptions“的部分代码如下所示:

代码语言:javascript
复制
                - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        UIPageControl *pageControl = [UIPageControl appearance];
        pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
        pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
        pageControl.backgroundColor = [UIColor whiteColor];

        UIStoryboard *storyBoard;
        storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard.storyboard" bundle:nil];
        UIViewController *walkthrough = [storyBoard instantiateViewControllerWithIdentifier:@"NextViewController"];
        //[self presentViewController:walkthrough animated:YES completion:nil];
        [self.window setRootViewController:walkthrough];

        return YES;
    }

以下是工作完成的代码。非常感谢您的帮助:

代码语言:javascript
复制
      // User Defaults
      UserDefaults *thisUserDefaults = [[UserDefaults alloc] init];
      [thisUserDefaults registerDefaults];

      if (![[[NSUserDefaults standardUserDefaults]
              valueForKey:kAppHasRunBeforeKey] boolValue]) {

        UIPageControl *pageControl = [UIPageControl appearance];
        pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
        pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
        pageControl.backgroundColor = [UIColor whiteColor];

        UIStoryboard *storyBoard;
        storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
        UIViewController *walkthrough =
            [storyBoard instantiateViewControllerWithIdentifier:@"ViewController"];
        [self.window setRootViewController:walkthrough];

        [[NSUserDefaults standardUserDefaults] setBool:YES
                                                forKey:kAppHasRunBeforeKey];
      }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-23 17:41:37

显示提示的最佳和最简单的方法是使用以下库:https://github.com/chrismiles/CMPopTipView

否则,如果您想使用您提到的方法来完成这个操作,那么您将需要在NSUserDefaults中保留一个变量,比如bool walkthroughShownOnce。最初,如果您从NSUserDefaults访问应用程序委托中的变量,如下所示:

代码语言:javascript
复制
bool tempInt = [[NSUserDefaults standardUserDefaults] boolForKey:@"walkthroughShownOnce"];

然后它将返回false。这是当您显示您的演练时,并在最后显示完演练之后,只需使变量变为真,如下所示:

代码语言:javascript
复制
[[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"walkthroughShownOnce"];
票数 7
EN

Stack Overflow用户

发布于 2015-10-04 13:57:37

还有一个库,SwiftyWalkthrough

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23251014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档