我正在尝试在圆形遮罩(使用 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 和掩码是兄弟姐妹,但我没有走这条路。