由於目前蘋果沒有支援該功能,所以只能自己在App啟動後做一個過度效果:
[cpp] - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; UIImageView *splashScreen = [[[UIImageView alloc] initWithFrame:self.window.bounds] autorelease]; splashScreen.image = [UIImage imageNamed:@"Default"]; [self.window addSubview:splashScreen]; www.2cto.com [UIView animateWithDuration:1.0 animations:^{ CATransform3D transform = CATransform3DMakeScale(1.5, 1.5, 1.0); splashScreen.layer.transform = transform; splashScreen.alpha = 0.0; } completion:^(BOOL finished) { [splashScreen removeFromSuperview]; }]; return YES; }
其實我覺得這個功能最好是用在兩個介面進行切換時使用,而且其中的黑屏效果如果使用view.backgroundcolor=[uicolor blackcolr];這樣就不需要一個圖片來做這種轉場效果,速度更快,占空間更小。