簡體   English   中英

動畫期間保持CAShapeLayer蒙版靜態

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM