Ios 如何使原点从底部而不是顶部来设置CALayer高度的动画?
我想制作一个简单的CALayer动画,根据传入的数据(图形均衡器上的条形图)上下移动 CALayer应沿底部保持固定,并在设置高度动画时上下移动Ios 如何使原点从底部而不是顶部来设置CALayer高度的动画?,ios,core-animation,calayer,Ios,Core Animation,Calayer,我想制作一个简单的CALayer动画,根据传入的数据(图形均衡器上的条形图)上下移动 CALayer应沿底部保持固定,并在设置高度动画时上下移动 有谁能建议在不必设置原点y坐标和高度动画的情况下实现这一点的最佳方法吗?如果您希望层始终从底部开始增长和收缩,那么您应该在底部的层上设置自己的锚点。锚定点在图层单位坐标空间中指定,因此无论大小,X和Y都在边界内从0到1的范围内 yourLayer.anchorPoint = CGPointMake(0.5, 1.0); 然后,对于动画,您只需设置边界
有谁能建议在不必设置原点y坐标和高度动画的情况下实现这一点的最佳方法吗?如果您希望层始终从底部开始增长和收缩,那么您应该在底部的层上设置自己的
锚点。锚定点在图层单位坐标空间中指定,因此无论大小,X和Y都在边界内从0到1的范围内
yourLayer.anchorPoint = CGPointMake(0.5, 1.0);
然后,对于动画,您只需设置边界动画(或者更好,您可以设置“bounds.size.height”
,因为只有高度在变化):
- 您可以在中阅读有关锚定点的更多信息
- 您可以阅读有关核心动画的键值编码扩展的更多信息
不幸的是,当我尝试这种方法时,我看到的只是颤动的杆(高度似乎在抖动)。可能是因为我试图每秒执行11个动画吗?听起来不对。但除非你给我看你使用的代码,否则我不知道哪里出了问题
// set the new bounds of yourLayer here...
CABasicAnimation *grow = [CABasicAnimation animationWithKeyPath:@"bounds.size.height"];
grow.fromValue = @0; // from no height
grow.toValue = @200; // to a height of 200
grow.duration = 0.5;
// add any additional animation configuration here...
[yourLayer addAnimation:grow forKey:@"grow the height of the layer"];