円形マスク (myImageView.layer.mask で設定) 内で UIImageView を回転させようとしています。問題は、UIImageView を回転させようとすると、マスクが一緒に回転することです。ここにいくつかのコードがあります。
マスクのセットアップ:
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 と mask が兄弟になるようにビュー階層を構造化する別の方法があるかもしれませんが、私はそのルートに行くことができませんでした。