![](/img/trans.png)
[英]Swift 3: CAShapeLayer mask not animating for pie chart animation
[英]Keeping CAShapeLayer Mask Static During Animation
我正在嘗試在圓形掩碼中旋轉UIImageView(使用myImageView.layer.mask設置)。 問題是,無論何時我嘗試旋轉所述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和掩碼是兄弟姐妹,但我沒有運氣那條路線。
將圖像視圖放入另一個普通的UIView超視圖中。 在superview上設置圖層蒙版。 為圖像視圖設置動畫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.