菜鸟教程小白 发表于 2022-12-13 02:14:12

ios - 应用程序启动时在其他之上显示 View Controller 在 ios8 中不起作用


                                            <p><p>我使用以下代码:</p>

<pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    ...
    window.rootViewController = self.viewController;
    ;

    if (self.requireLogin){
      ;
    }
}
</code></pre>

<p>所以我将 loginViewController 推到 viewController 之上。这在 8 之前的 iOS 上可以正常工作,但在 iOS 8 上,您可以在很短的时间内看到 viewController。</p>

<p>有没有简单的方法在 iOS 8 上显示 ViewController 而不显示其背后的内容?</p>

<p>编辑:
在日志中注意到它还有“开始/结束外观转换的不平衡调用”,所以认为 ios 8 在 self.viewController 上运行了一些动画。有没有办法阻止它动画? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>试试这个<strong>最初隐藏,然后取消隐藏。</strong></p>

<pre><code>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    ...
    window.rootViewController = self.viewController;

    // Hide initially
    window.rootViewController.view.hidden = YES;

    ;

    if (self.requireLogin){
      [self.viewController presentViewController:yourloginViewController animated:NO completion:^{

            // Unhide now
            window.rootViewController.view.hidden = NO;

      }];
    }
}
</code></pre>

<p>根据响应,似乎没有显示启动画面,所以我更好的建议是</p>

<ol>
<li><p>正如您知道是/否来显示登录 View (基于 self.requireLogin),您将登录 ViewController 设置为窗口的 rootviewcontroller。</p>

<pre><code>if (self.requireLogin){

    window.rootViewController = yourLoginViewController;

}
else{

    window.rootViewController = normalViewController;

}
</code></pre> </li>
<li><p>仍然需要使用与你相同的策略,然后在普通 ViewController 上添加一个 UIImageView,然后呈现登录 ViewController 。 </p></li>
</ol>

<p>选择权在你手中:)</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 应用程序启动时在其他之上显示 ViewController 在 ios8 中不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26033321/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26033321/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 应用程序启动时在其他之上显示 View Controller 在 ios8 中不起作用