HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 为什么在使用CGAffineTransformMakeRotation旋转它时,视图会改变位置大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下超级简单的动画,我基本上是从原来的角度/中心旋转一个视角2弧度,它旋转很好,我唯一的误会就是为什么视图从旋转发生时的原始位置移动.
[UIView animateWithDuration:1.0 animations:^{
        self@L_154_2@meView.transform = CGAffineTransformMakeRotation( 2 );
    }];@H_301_3@ 
 

当上面的代码旋转时,为什么视图移动?

我正在试图在CGAffineTransform Reference中看到这些信息.

了解锚点point.

我发现这个线程,但它没有显示具体的答案.@H_301_11@Why rotating imageView,it changes position?

非常感谢

解决方法

由于@fs_tigre请求,我添加了另一个答案.问题在于您的xib文件中的自动布局,不幸的是,这是为什么会影响转换. @H_301_11@现在这里是我解决问题的步骤:

首先你需要摆脱你的汽车布局(是的,你必须)@H_301_11@取消选中使用自动布局

2-删除所有限制,并自动调整您的视图将被旋转的掩码,如屏幕截图所示@H_301_11@(这里我有我的蓝色框,看右边的自动调整,没有选择)

我已经对您的轮换代码进行了一些更改

self@L_154_2@meView.layer.anchorPoint = CGPointMake(0.5,0.5);
    // one degree = pi/180. so...
    // rotate by 90
    CGFloat radians = (M_PI/180) * 90;
    [UIView animateWithDuration:1.0 animations:^{
        self@L_154_2@meView.transform = CGAffineTransformRotate(self@L_154_2@meView.transform,radians);
    }];@H_301_3@ 
 

点击旋转看魔术:)

大佬总结

以上是大佬教程为你收集整理的ios – 为什么在使用CGAffineTransformMakeRotation旋转它时,视图会改变位置全部内容,希望文章能够帮你解决ios – 为什么在使用CGAffineTransformMakeRotation旋转它时,视图会改变位置所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。