Я пытаюсь повернуть UIImageView в круговой маске (которая установлена с помощью myImageView.layer.mask). Проблема в том, что всякий раз, когда я пытаюсь повернуть указанный UIImageView, маска вращается вместе с ним. Вот какой код.Сохранение маски CAShapeLayer статично во время анимации
Настройка маски:
UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0, - 169)
radius:191
startAngle:0.0
endAngle:2*M_PI
clockwise:YES];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setFrame:myImageView.bounds];
[shapeLayer setPath:[path CGPath]];
myImageView.layer.mask = shapeLayer;
Анимация:
[UIView animateWithDuration:kRotationTime animations:^(void){
myImageView.transform = CGAffineTransformMakeRotation(angle);
}];
И это в основном все есть на него. UIImageView, вращающийся вокруг своего центра в круговой маске фиксированного положения - это желаемый эффект. Возможно, есть еще один способ структурировать иерархию представлений, чтобы myImageView и маска были братьями и сестрами, но мне не повезло с этим путем.
Хорошее предложение. –