从启动图像平滑过渡到主视图

mar*_*wer 8 iphone transition launch

当应用程序加载时,是否可以实现从启动图像到第一个视图的平滑过渡?

默认行为是打开/关闭,立即更改:启动图像出现,然后它立即消失,让主视图控制器发生.我想实现一些淡入淡出或放大或缩小.

这可能吗?

谢谢!

Ben*_*tto 15

没有框架支持,但如果您自己手动执行,则可以获得该结果.根据您的启动图像以及您的UI的外观,您可以采用不同的方式进行操作,但基本上:在加载时,使第一个视图控制器加载并在图像视图中显示default.png图像.然后设置淡出该图像的动画以显示您的实际UI.


n13*_*n13 7

修改了Dancreek的答案,在AppDelegate应用程序中完成所有操作:didFinishLaunchingWithOptions.我喜欢这个,因为代码保证只在应用程序启动时运行,并且它不会污染任何视图控制器.

这很简单:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // set up your root view and stuff....

    //.....(do whatever else you need to do)...

    // show the main window, overlay with splash screen + alpha dissolve...

        UIImageView *splashScreen = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Default.png"]];
    [self.window addSubview:splashScreen];        
    [self.window makeKeyAndVisible];

    [UIView animateWithDuration:0.3 animations:^{splashScreen.alpha = 0.0;}
                     completion:(void (^)(BOOL)) ^{
                             [splashScreen removeFromSuperview];
                     }
    ];
}
Run Code Online (Sandbox Code Playgroud)