由于某些原因,我试图避免使用CAScrollLayer来做到这一点。我所追求的效果是逐步揭示(从底部到顶部)一个CALayer的内容(我之前加载过的一个PNG)。所以我想这样做:我怎样才能让CAlayer的边界动画逐步显示图像?
layer.anchorPoint = CGPointMake(.5, 1);
CABasicAnimation* a = [CABasicAnimation animationWithKeyPath:@"bounds.size.height"];
a.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
a.fillMode = kCAFillModeBoth;
a.removedOnCompletion = NO;
a.duration = 1;
a.fromValue = [NSNumber numberWithFloat:0.];
a.toValue = [NSNumber numberWithFloat:layer.bounds.size.height];
[layer addAnimation:a forKey:nil];
这个问题是你可以告诉图层的内容与边界缩放。我试图改变边界,但内容始终保持原始大小,以便边界能够有效地剪切图像,并随着边界的增加而变高。图像“显示”本身。
任何想法如何将其关闭或我可能会丢失什么?
我知道,但因为在一个以上的效率水平(可以有这些影响中的一小部分会立即发生,我需要自己处理CALayers)我决定不这样做。现在我正在试验contentRect,并且我能够把它弄到几乎正确。唯一的问题是内容rect动画时,我也得到了一种在图层内绘制的笔画轨迹。 – SaldaVonSchwartz 2012-04-26 19:21:08
contentRect的文档说“如果请求单位矩形外的像素,内容图像的边缘像素将向外扩展”所以我想这就是为什么我得到笔画效果 – SaldaVonSchwartz 2012-04-26 19:30:29