我使用以下代码:
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions {
...
window.rootViewController = self.viewController;
[window makeKeyAndVisible];
if (self.requireLogin){
[self.viewController presentViewController:self.loginViewController animated:NO completion:nil];
}
}
所以我将 loginViewController 推到 viewController 之上。这在 8 之前的 iOS 上可以正常工作,但在 iOS 8 上,您可以在很短的时间内看到 viewController。
有没有简单的方法在 iOS 8 上显示 View Controller 而不显示其背后的内容?
编辑:
在日志中注意到它还有“开始/结束外观转换的不平衡调用”,所以认为 ios 8 在 self.viewController 上运行了一些动画。有没有办法阻止它动画?
Best Answer-推荐答案 strong>
试试这个最初隐藏,然后取消隐藏。
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions {
...
window.rootViewController = self.viewController;
// Hide initially
window.rootViewController.view.hidden = YES;
[window makeKeyAndVisible];
if (self.requireLogin){
[self.viewController presentViewController:yourloginViewController animated:NO completion:^{
// Unhide now
window.rootViewController.view.hidden = NO;
}];
}
}
根据响应,似乎没有显示启动画面,所以我更好的建议是
正如您知道是/否来显示登录 View (基于 self.requireLogin),您将登录 View Controller 设置为窗口的 rootviewcontroller。
if (self.requireLogin){
window.rootViewController = yourLoginViewController;
}
else{
window.rootViewController = normalViewController;
}
仍然需要使用与你相同的策略,然后在普通 View Controller 上添加一个 UIImageView,然后呈现登录 View Controller 。
选择权在你手中
关于ios - 应用程序启动时在其他之上显示 View Controller 在 ios8 中不起作用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26033321/
|