【发布时间】:2011-04-18 07:29:56
【问题描述】:
我想在单击按钮时显示具有缩小效果的视图,并以放大效果溶解视图,您能指导我实现这一目标吗?
提前感谢
【问题讨论】:
我想在单击按钮时显示具有缩小效果的视图,并以放大效果溶解视图,您能指导我实现这一目标吗?
提前感谢
【问题讨论】:
您可以使用视图层的 CAAnimation 来做到这一点:
CABasicAnimation *ani = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[ani setDuration:0.5];
[ani setRepeatCount:1];
[ani setFromValue:[NSNumber numberWithFloat:1.0]];
[ani setToValue:[NSNumber numberWithFloat:0.1]];
[ani setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[myView layer] addAnimation:ani forKey:@"zoom"];
这会添加一个动画,使视图缩小到其中心。您可能想要添加设置一个委托并实现animationDidStop:finished:,然后在其中隐藏视图并重置图层的比例(请参阅CAAnimation reference)。
要创建相反的效果,只需交换 from 和 to 值。
另请注意,虽然比例不是 1.0,但 frame 属性未定义。也就是说,如果你在图层的比例不是 1.0 时尝试移动它或改变它的大小,就会发生奇怪的事情。
【讨论】: