ipad:呈现具有缩小效果的视图,并通过放大效果移除

时间:2011-04-18 07:29:57

标签: iphone ipad uiview

我希望在点击按钮时显示缩小效果的视图,并通过放大效果解散视图,可以指导我实现此目的。

提前完成

1 个答案:

答案 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的情况下改变它的大小,那么就会发生奇怪的事情。