我正在滑块上旋转图像 -
我正在使用此代码进行轮换 -
editingView.transform = CGAffineTransformRotate(editingView.transform,sliderVal);
正确旋转但是如果我在旋转后尝试移动或调整大小,则editView会调整大小并出现意外行为,并且视图会从屏幕上消失。
请告诉我我做错了什么。
答案 0 :(得分:0)
由于您没有显示有关如何移动或调整大小的任何代码,我怀疑您没有正确连接转换。此外,在完成旋转后,平移可能会在旋转的坐标系上起作用,从而导致意外行为。
答案 1 :(得分:0)
每当您旋转超视图内的视图时,都应该保留视图的位置。如果您没有在原点上旋转任何视图,则应首先将视图的原点转换为超视图的原点,然后旋转然后再转换回原点。
将视图转换为原点;
view.transform = CGAffineTransformMakeTranslation(x,y)
以某个角度旋转视图,比如说PI,
view.transform = CGAffineTransformMakeRotation(PI)
旋转后转换回原点;
view.transform = CGAffineTransformMakeTranslation(-x,-y)
就是这样。它应该适用于所有不同的轮换。
答案 2 :(得分:0)
更改影响UIView transform
值的frame
值。正如Apple所说:
警告:如果此属性不是标识转换,则为 frame属性未定义,因此应该被忽略。
因此,如果您使用框架属性移动或调整视图大小,请尝试使用bounds
,center
属性