我改为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所以导致该问题
我改为view.layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1)去测试,发现只有相对于z轴旋转时有问题,看起来不像是绕z轴旋转
如果使用动画的方式来进行旋转就没有问题!!
原因是使用CATransform3DMakeRotation后修改了坐标系,那么接下来是不能够在此设置其所在视图的frame的。这里我多次设置了其frame所以导致该问题