为了账号安全,请及时绑定邮箱和手机立即绑定

使用CGAffineTransformMakeRotation旋转后视图会变形,这是什么原因?

使用CGAffineTransformMakeRotation旋转后视图会变形,这是什么原因?

iOS
翻翻过去那场雪 2018-07-23 19:38:47
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所以导致该问题


查看完整回答
反对 回复 2018-07-29
  • 1 回答
  • 0 关注
  • 1523 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信