0

didSelectRowAtIndexPath,我正在重新加载选定的行并进行更改heightForRowAtIndexPath,以便选定的 tableview 单元格可以展开。这工作正常。因此,一旦重新加载扩展完成,我必须为 UIImageView 后面的 UIView 设置动画。

动画应该像从 imageView 后面进来一样,像从图像中显示一样停在某个位置。应该很简单吧?通过更改 y 原点并在其中执行动画块。

但问题是它根本没有使用简单的 UIView beginAnimations 代码进行动画处理。我认为应该可以将 CAKeyframeAnimation 应用于 UIView 层。

我从来没有玩过图层。有人可以指导我吗?

谢谢

4

1 回答 1

1

你可以尝试这样的事情:

CABasicAnimation *myViewAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
[myViewAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(INITIAL_X,INITIAL_Y)]];
[myViewAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(FINAL_X,FINAL_Y)]];
[myViewAnimation setDuration:0.5];
[myView.layer setPosition:CGPointMake(FINAL_X,FINAL_Y)];
[myView.layer addAnimation:myViewAnimation forKey:@"position"];

您需要将 QuartzCore 框架链接到您的项目并导入它 ( #import <QuartzCore/QuartzCore.h>)

于 2012-10-24T19:52:13.397 回答