我希望在点击按钮时显示缩小效果的视图,并通过放大效果解散视图,可以指导我实现此目的。
提前完成
答案 0 :(得分:5)
您可以使用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的情况下改变它的大小,那么就会发生奇怪的事情。