Я пытаюсь создать анимацию, в которой маска помещается в центр представления. Появится любое изображение, которое проходит за маской. Итак, вот мой код до сих пор, но проблема с этим кодом заключается в том, что он анимирует маску с изображением.Анимация UIImageView с маской, но маска статична
UIView *maskView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.worldImageView.frame.size.height, self.worldImageView.frame.size.height)];
// ...position maskView...
maskView.layer.position = CGPointMake(CGRectGetMidX([self.view bounds]), CGRectGetMidY([self.view bounds]));
maskView.layer.backgroundColor = [UIColor blackColor].CGColor;
maskView.layer.cornerRadius = 90;
self.worldImage = [[UIImageView alloc] init];
self.worldImage.frame = self.worldImageView.frame;
self.worldImage.image = [UIImage imageNamed:@"continents.png"];
[maskView addSubview:self.worldImage];
[self.view addSubview:maskView];
CABasicAnimation* worldAnimation = [[CABasicAnimation alloc] init];
[worldAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(self.view.frame.size.width + 50, CGRectGetMidY([maskView bounds]))]];
[worldAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(-50, CGRectGetMidY([maskView bounds]))]];
worldAnimation.keyPath = @"position";
worldAnimation.duration = 6.0f;
worldAnimation.repeatCount = HUGE_VALF;
[[self.worldImage layer] addAnimation:worldAnimation forKey:nil];
Я не знаю, объяснил ли я это достаточно хорошо. Скажите, пожалуйста, если вам нужна дополнительная информация. Заранее спасибо!
Вы говорите, что маска перемещается вместе с изображением, но вы этого не хотите? – ravron
Да, просмотр изображения по-прежнему замаскирован, пока он оживляет. – PoKoBros
Хорошо, но какое поведение * делать * вы хотите? Вы говорите, что хотите, чтобы «окно», которое представляет собой маска, неподвижно, а изображение движется за ней? – ravron