CGFloat angle = 10 * M_PI / 180.f;view.transform = CGAffineTransformMakeRotation(angle);
1 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
我改為view.layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1)去測試,發現只有相對于z軸旋轉時有問題,看起來不像是繞z軸旋轉
如果使用動畫的方式來進行旋轉就沒有問題??!
CABasicAnimation *circleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];view.duration = 0;view.repeatCount = 1;view.toValue = @(angle);view.removedOnCompletion = NO;view.fillMode = kCAFillModeForwards;[view.layer addAnimation:circleAnimation forKey:@"rotation"];
原因是使用CATransform3DMakeRotation后修改了坐標系,那么接下來是不能夠在此設置其所在視圖的frame的。這里我多次設置了其frame所以導致該問題
- 1 回答
- 0 關注
- 1627 瀏覽
添加回答
舉報
0/150
提交
取消