菜鸟教程小白 发表于 2022-12-12 23:45:39

ios - 使用 Pageviewcontroller 教程后的导航 Controller


                                            <p><p>我正在使用 pageViewController 来展示我的应用程序的所有功能。但是我只想在应用程序的第一次启动时显示它,而不是每次都显示它。为了做到这一点,我创建了一个对象,该对象存储一个 bool 值以显示或不显示教程。该 bool 值用于 AppDelegate.m</p>

<pre><code>if(tutoStatus == NO)
    {

      self.window = [ initWithFrame:UIScreen.mainScreen.bounds];

      UIStoryboard *storyboard = ;

      UIViewController *tutoViewController = ;

      UINavigationController *navController = [initWithRootViewController:tutoViewController];

      ;

      ;
      ;
    }

    else
    {
      self.window = [ initWithFrame:UIScreen.mainScreen.bounds];

      UIStoryboard *storyboard = ;

      UIViewController *homeViewController = ;

      UINavigationController *navController = [initWithRootViewController:homeViewController];

      ;
    }
</code></pre>

<p>我的问题是我在这两种情况下都创建了一个导航 Controller 。因此,如果我有要显示的教程,用户将在导航栏中获得一个后退按钮,并且可以返回 PageViewController。在应用启动时显示教程的最佳方式是什么?</p>

<p>谢谢</p>

<p>--编辑</p>

<p>我使用下面的代码解决了我的问题</p>

<pre><code>self.window = [ initWithFrame:[ bounds]];

    if ([ boolForKey:@&#34;HasLaunchedOnce&#34;])
    {
      NSLog(@&#34;not first launch&#34;);

      UIStoryboard* storyBoard = [UIStoryboard storyboardWithName:@&#34;MainStoryboard&#34;
                                                      bundle:nil];
      self.homeViewController = ;
      self.window.rootViewController = self.self.homeViewController;
    }
    else
    {
      NSLog(@&#34;first launch&#34;);
      [ setBool:YES forKey:@&#34;HasLaunchedOnce&#34;];
      [ synchronize];

      UIStoryboard* storyBoard = [UIStoryboard storyboardWithName:@&#34;MainStoryboard&#34;
                                                             bundle:nil];
      self.tutoViewController = ;
      self.window.rootViewController = self.tutoViewController;
    }

    ;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>在本教程的 ViewController 的 <code>viewWillAppear:</code> 方法中,您可以使用它来隐藏返回按钮:</p>

<pre><code>;
</code></pre>

<p>然后在<code>viewDidDisappear:</code>中,可以恢复后退按钮:</p>

<pre><code>;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 Pageviewcontroller 教程后的导航 Controller ,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24628943/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24628943/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 Pageviewcontroller 教程后的导航 Controller