我使用以下代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
window.rootViewController = self.viewController;
[window makeKeyAndVisible];
if (self.requireLogin){
[self.viewController presentViewController:self.loginViewController animated:NO completion:nil];
}
}
所以我在viewController的顶部推送loginViewController。这在8之前的iOS上运行正常,但在iOS 8上你可以看到viewController的少量时间。
是否有简单的方法在iOS 8上呈现视图控制器而不显示其背后的内容?
编辑: 在日志中注意到它还有"不平衡调用开始/结束外观转换"所以想想ios 8在self.viewController上运行一些动画。有没有办法阻止它动画?
答案 0 :(得分:1)
尝试隐藏最初,然后取消隐藏。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)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;
}];
}
}
根据回复,似乎没有显示启动画面,所以我更好的建议是
如果您知道显示登录视图的YES / No(基于self.requireLogin),则将登录视图控制器设置为窗口的rootviewcontroller。
if (self.requireLogin){
window.rootViewController = yourLoginViewController;
}
else{
window.rootViewController = normalViewController;
}
您仍然需要使用与您相同的策略,然后在普通的View Controller上添加一个UIImageView,然后显示登录视图控制器。
选项是你的:)