我正在尝试在圆形遮罩(使用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和掩码是兄弟姐妹,但我没有运气那条路。
答案 0 :(得分:8)
将图像视图放入另一个普通的UIView超级视图中。在superview上设置图层蒙版。为图像视图设置动画。