CALayer位置和锚点

时间:2013-11-28 11:47:50

标签: ios calayer

我已经完成了动画CALayers的大量工作,但我从未完全理解定位系统。大多数时候我只是尝试,结果如何。

我知道隐式anchorPoint的{​​{1}}是父CALayer的中心。 意思是我必须在x轴上为每个我想要设置动画的值减去或加160,或者在y轴上为284(由于NavigationBars,这确实有所不同)。

但我陷入了一种在我眼中有点奇怪的情况。我会在这里解释一下:

我在屏幕底部创建了一个44px高度的栏。我使用此UIViewframe创建了它。 CGRectMake(0.0, 568.0, 320.0, 44.0)将是正常位置,524是隐藏位置。 动画不适用于这些值,添加或减去284都没有解决问题。我不得不做一些实验,让它工作,这是我的代码的工作版本。

568

这会将CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position.y"]; [animation setFromValue:[NSNumber numberWithFloat:546.0]]; [animation setToValue:[NSNumber numberWithFloat:590.0]]; [animation setDuration:0.3]; [[self layer] addAnimation:animation forKey:@"inAnimation"]; [[self layer] setPosition:CGPointMake(160.0, 590.0)]; 设置为可见区域的动画。为什么我的UIView使用546代替524fromValue使用590。这是22px的差异。为什么呢?

仍然是一个奇迹。

0 个答案:

没有答案