特定の理由で、これを行うためにCAScrollLayerを使用しないようにしています。私が追求している効果は、CALayerのコンテンツ(以前にロードしたpng)を徐々に(下から上に)明らかにすることです。だから私はこれを行うことを考えました:
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];
これに伴う問題は、レイヤーのコンテンツが境界に合わせてスケーリングされていることがわかることです。境界を変更しようとしましたが、コンテンツは常に元のサイズのままであるため、境界は効果的に画像をクリップし、bounds.heightを増やすと、画像自体が「表示」されます。
それをどのようにやってのけるか、または私が何を見逃している可能性があるかについてのアイデアはありますか?