如何为嵌入在 UITableViewCell 中的 UIView 设置动画
Posted
技术标签:
【中文标题】如何为嵌入在 UITableViewCell 中的 UIView 设置动画【英文标题】:How to Animate UIView embedded in UITableViewCell 【发布时间】:2012-10-24 19:06:51 【问题描述】:在didSelectRowAtIndexPath
上,我正在重新加载选定的行并更改heightForRowAtIndexPath
以便选定的表格视图单元格可以展开。这工作正常。因此,一旦重新加载扩展完成,我必须为 UIImageView 后面的 UIView 设置动画。
动画应该像从 imageView 后面进来,像从图像中显露一样停在某个位置。应该很简单吧?通过更改 y 原点并在其中执行动画块。
但问题在于它根本没有使用简单的 UIView beginAnimations 代码进行动画处理。我认为应该可以使用 CAKeyframeAnimation 应用于 UIView 的图层。
我从来没有玩过图层。有人可以指导我吗?
谢谢
【问题讨论】:
【参考方案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>
)
【讨论】:
以上是关于如何为嵌入在 UITableViewCell 中的 UIView 设置动画的主要内容,如果未能解决你的问题,请参考以下文章
如何为选择多行时使用的 UITableViewCell 图像蒙皮?
如何为 UITableViewCell 的 ImageView 设置固定大小?