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]