我想要显示一个缩小效果的视图点击一个按钮,并消除视图放大效果,你能指导我实现这一点。
提前感谢
发布于 2011-04-18 16:05:10
你可以通过一个指向视图层的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值。
还要注意,虽然scale不是1.0,但frame属性是未定义的。也就是说,如果你试图移动它或改变它的大小,而层的比例不是1.0,奇怪的事情就会发生。
https://stackoverflow.com/questions/5699792
复制相似问题