猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
使用CGAffineTransformMakeRotation旋转后视图会变形,这是什么原因?
CGFloat angle = 10 * M_PI / 180.f;
view.transform = CGAffineTransformMakeRotation(angle);
翻翻过去那场雪
浏览 1585
回答 1
1回答
梵蒂冈之花
我改为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所以导致该问题
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
iOS
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续