![](/img/trans.png)
[英]Effect of UIView coordinate system on circular version of UIProgressView
[英]Rotate coordinate System of an UIView
我是一个完整的初学者,所以请原谅我可能很愚蠢的问题。
我使用带有许多子图像的UIView
“ superview”来执行图像围绕任意点的旋转:
superview.transform = CGAffineTransformMakeRotation(M_PI/2);
这可以完美地工作,但是似乎这也在旋转超级视图的坐标系。 这反过来又弄乱了以下所有步骤。 我发现了数百篇有关旋转图像的文章和信息,对于mac开发,显然有一种旋转坐标系的方法。 我只是找不到适用于iOS的东西。
有没有一种方法可以在不旋转坐标系的情况下旋转视图/如何旋转坐标系而不影响图像?
谢谢你的帮助。
似乎这也在旋转超级视图的坐标系
您是对的-旋转超级视图的坐标系正是您在做的事情:
superview.transform = CGAffineTransformMakeRotation(M_PI/2);
有没有一种方法可以旋转视图而无需旋转坐标系
当然,只需为您的视图而不是其超级视图设置transform
属性。 对于任何view someView
,您可以说:
someView.transform = CGAffineTransformMakeRotation(M_PI/2);
请注意,这实际上是旋转视图自己的坐标系-不会旋转视图本身。 这意味着将旋转所有图形,但视图的框架将保持不变。 您可能需要调整框架以解决此问题。 例如,如果您有一个通常高100像素,宽300像素的矩形视图,则可能需要使其高300像素,宽100像素,以确保所有内容仍然可见。
如果要创建自定义视图,则当然可以使用self
从其自己的代码内部引用该视图的实例:
self.transform = CGAffineTransformMakeRotation(M_PI/2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.