【发布时间】:2012-01-28 13:26:02
【问题描述】:
我正在制作一个使用全屏显示图像的应用,例如照片应用。也像照片应用一样,我试图让导航栏、状态栏和标签栏在一段时间后或用户点击屏幕后淡出。我对 UIView 动画方法(即 animateWithDuration)做了一些改动,但我意识到我需要使用 Core Animation 才能完成我想做的事情。
到目前为止,我一直在搞乱核心动画并且遇到了一堆我不确定如何解决的问题:
a) 是否可以在动画开始之前延迟动画(不使用单独的线程)。
b) 由于我们无法访问状态栏视图/图层,我如何使用 Core Animation 使状态栏动画化?
c) 我应该如何停止动画,即如果用户在条消失时点击屏幕?我应该在 cat 交易中将它们组合在一起吗?
只是对人们在尝试完成这项任务时会采取什么方法感兴趣。到目前为止,这就是我所拥有的一切,哈哈:
CABasicAnimation *fader = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader setDuration:2.0];
[fader setFromValue:[NSNumber numberWithFloat:.75]];
[fader setToValue:[NSNumber numberWithFloat:0]];
[[[[self tabBarController] tabBar]layer]addAnimation: fader forKey:@"BigFade"];
CABasicAnimation *fader2 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader2 setDuration:2.0];
[fader2 setFromValue:[NSNumber numberWithFloat:1]];
[fader2 setToValue:[NSNumber numberWithFloat:0]];
[[[[self navigationController] navigationBar]layer]addAnimation: fader2 forKey:@"BigFade2"];
【问题讨论】:
标签: iphone objective-c ios cocoa-touch core-animation