如何通过动画使导航栏高度变为22?

时间:2014-01-01 06:35:46

标签: ios objective-c animation uinavigationcontroller uinavigationbar

我希望navigationBar的高度变为22,带有动画,我的代码如下,为什么它不起作用?

CGMutablePathRef path = CGPathCreateMutable();

CGRect rect = self.navigationController.navigationBar.frame;
CGPathAddRect(path, NULL, rect);
rect.size.height = 22;
CGPathAddRect(path, NULL, rect);

CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"scale"];
[animation setPath:path];
[animation setDuration:1.0];

[animation setAutoreverses:YES];
CFRelease(path);
[self.navigationController.navigationBar.layer addAnimation:animation forKey:NULL];

1 个答案:

答案 0 :(得分:0)

我在stackoverflow上找到了像我这样的问题,这个问题的网址是 Animating Frame with CoreAnimation

他们说框架不能随CAKeyframeAnimation而改变。这可能是一个bug,或者原来无法实现CAKeyframeAnimation。

这么久,我没有回答。也许我的问题表达不清楚或其他原因。 所以,以这种状态结束问题。