【问题标题】:Rotate image layer maintaining center旋转图像图层保持中心
【发布时间】:2012-12-13 20:16:42
【问题描述】:

考虑这张图片(尺寸为 10x140;箭头为 10x70):

红色箭头是我的问题,因为我想让它旋转。

现在我正在使用

CGFloat Angle = [Speed.text intValue] / 160.0;
_Arr.layer.transform = CATransform3DMakeRotation(Angle * M_PI * 2, 0, 0, 1);

_Arr 旋转时,它会失去中心。如图所示,中心是加号(“+”),不透明的箭头是问题。

我也尝试设置中心和锚点,但我得到了相同的结果。 我将箭头图像加倍(双倍高度,图像一半),同样的事情。

这是界面生成器:

可能是什么问题?

CATransform3DMakeRotation 是问题还是图像?锚点?度数公式?两个都?

【问题讨论】:

  • 我怀疑这是一个图像视图。在这种情况下,它围绕其origin 旋转 - 默认情况下,它位于(0, 0) 中。更改它以反映实际的中心点就可以了。
  • 是的,这是一个图像视图,但我改变它了吗?不明白..
  • imageView.origin = CGPointMake(5, 5);
  • 啊好吧,但我的图像视图原点不是 0,0,是 155,105...我继续不理解...
  • 用数值试验一下,最终会好的。

标签: iphone objective-c ios uiimageview catransform3d


【解决方案1】:

anchorPoint 是答案(“将箭头中心点移动到图像的端点之一”)。查看本教程http://www.mobisoftinfotech.com/blog/iphone/ios-tutorial-custom-speedometer-control/

【讨论】:

  • 很好,很好!这就是我需要的! +1 和 +10!非常感谢。
  • 也谢谢你!编码愉快!
猜你喜欢
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 2011-07-08
  • 1970-01-01
相关资源
最近更新 更多