在AppDelegate CATransition - didFinishLaunchingWithOptions

问题描述:

我已经在另一个应用程序中实现此代码,并且它工作得很好。现在,相同的代码是不是在这里工作(我am导入QuartzCore framewok)...日志消息IS调用。任何人都可以帮助我吗?提前致谢。这是我的代码:在AppDelegate CATransition - didFinishLaunchingWithOptions

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    // Override point for customization after application launch. 
    [NSThread sleepForTimeInterval:1.5]; 

    CATransition *transition = [CATransition animation]; 
    transition.delegate = self; 
    transition.duration = 1.5; 
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
    transition.type = kCATransitionFade; 

    [[window layer] addAnimation:transition forKey:nil]; 

    [window addSubview:[navigationController view]]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

- (void)animationDidStop:(CAAnimation *)theAnimation finished: (BOOL)flag 
{ 
    NSLog(@"Animation did stop!"); 
} 
+0

是这个代码意味着淡出default.png图像并淡入你的视图? – 2011-06-16 04:59:22

+0

是的。什么是最好的事情?在AppDelegate中添加一个具有相同Default.png图片的UIImageView? – 2011-06-22 21:34:39

移动:

[[window layer] addAnimation:transition forKey:nil]; 
下面

[window makeKeyAndVisible]; 

你明确地创建动画,但是你申请的动画 “之前” 你想将子视图添加到窗口。通过将它放置在下面,您可以告诉窗口您想要为子视图的位置设置动画。

+0

对不起,移动[[window layer] addAnimation:transition forKey:nil];在addSubview行下面,它应该。没有理由为什么这个动画不应该工作。我做了类似的事情,并且它在我的结尾工作。 – topLayoutGuide 2012-03-04 05:10:12