По определенным причинам я стараюсь избегать использования 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 изображение «показывает» себя.
Есть идеи, как это реализовать или что я могу упустить?