我希望每次应用程序启动时都显示启动画面。我已经创建了一个名为showSplash
的函数,并在applicationDidBecomeActive:
中调用它。
-(void)showSplash
{
UIImageView *splashScreen = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"Default.png"]];
[self.window.rootViewController.view addSubview: splashScreen];
[self.window makeKeyAndVisible];
NSLog(@"begin splash");
[UIView animateWithDuration: 4.2
delay: 0.5
options: UIViewAnimationOptionCurveEaseOut
animations: ^{
splashScreen.alpha = 0.0;
}
completion: ^ (BOOL finished) {
[splashScreen removeFromSuperview];
NSLog(@"end splash");
}
];
}
我是这样调用这个函数的:
- (void)applicationDidBecomeActive:(UIApplication *)application {
[self showSplash];
}
但是没有启动画面出现。请指正我。
self.window.rootViewController
是什么类型?另外,如果窗口在当前视图控制器上,makeKeyAndVisible
只会将其带到前面。如果您想要rootViewController
的主窗口,则需要使用[self.window.rootViewController.view.window makeKeyAndVisible]
。 - Marcus Adams