這似乎是旋轉到一個角度而不是一個數量。我需要在UIView動畫中使用它來多次旋轉圖像視圖。任何選擇?CGAffineTransformRotate旋轉次數而不是角度
CGAffineTransformRotate(transform, 1.0);
這似乎是旋轉到一個角度而不是一個數量。我需要在UIView動畫中使用它來多次旋轉圖像視圖。任何選擇?CGAffineTransformRotate旋轉次數而不是角度
CGAffineTransformRotate(transform, 1.0);
旋轉規定角度旋轉變換,但我猜你想實現360度(含)以上的旋轉。要做到這一點,你需要使用CAAnimation
來實現它。例:
CABasicAnimation* spinAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
spinAnimation.duration = 5.0;
spinAnimation.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionLinear];
spinAnimation.toValue = [NSNumber numberWithFloat: 2.0 * M_PI * 20.0];
[myView.layer addAnimation:spinAnimation forKey:@"spinAnimation"];
上面的代碼將在5秒
旋轉MyView的20倍,你需要保存當前變換和旋轉一次...所以你需要...
[myView setTransform:CGAffineTransformRotate(myView.transform, 1.0)];
這將旋轉適用於任何現有的變換,最初這將是CGAffineTransformIdentity,這是沒有旋轉,縮放或平移。
多次應用CGAffineTransformRotate仍會標準化爲-2pi
這並不完全是他所要求的。 –