菜鸟教程小白 发表于 2022-12-12 17:51:55

ios - 初次入职后如何过渡到主应用程序流程


                                            <p><p>目前我在 storyboard 中有两个流程:入职/登录流程(当前设置为 storyboard 设置中的初始 ViewController )和主应用程序流程(例如,您登录后的核心应用程序体验)。</p>

<p>从入门到主应用流程的转换在 UI 中成功地发生了,但我认为我这样做的方式不太正确。我遇到的一个问题是无法将 View 状态恢复到主应用程序流。 </p>

<p>当从入职流程过渡到主应用流程时,我使用 <code>presentViewController</code> 来过渡到新的 ViewController ,然后我正在从中删除呈现 ViewController 的父导航 Controller 使用 <code>removeFromParentViewController</code> 查看层次结构。我的想法是主应用程序流应该有它自己的 View 层次结构,其根应该是新呈现的 ViewController 中的第一个 View 。</p>

<p>但是,以这种方式执行操作会破坏 View 恢复代码。似乎我无法正确地将 View 层次结构“重置”到主导航 Controller 。在我没有从 View 层次结构中删除载入导航 Controller 之前, View 状态恢复工作正常(如下面的代码所示),但现在它不起作用——状态总是恢复到载入流程的开头,<code>- (void)decodeRestorableStateWithCoder:(NSCoder *)coder</code> 方法永远不会在主应用程序流 Controller 上调用。</p>

<p>以下是来自载入流 Controller 的相关代码,它显示了主应用程序流 Controller 。</p>

<pre class="lang-objective-c prettyprint-override"><code>// The presenting view controller from the onboarding flow
@implementation TLOnboardingStep2ViewController
-(void)presentMainViewController {
      UIStoryboard *board = ;

      // The root view controller of the main app flow
      ECSlidingViewController *slidingVC = ;
      [self presentViewController:slidingVC animated:YES completion:^{
          [.delegate window].rootViewController = slidingVC;
          ;
      }];
}
@end
</code></pre>

<p>我在这里做错了什么?谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>似乎更好的处理方法是让主应用程序流作为 Root ViewController ,并在需要时作为模态视图 Controller 从主视图 Controller 弹出到登录流中。这就是我现在正在做的事情,它似乎工作得更好,并且使层次结构更加清晰。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 初次入职后如何过渡到主应用程序流程,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/20941139/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/20941139/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 初次入职后如何过渡到主应用程序流程