【问题标题】:Rotate image in xcode在 xcode 中旋转图像
【发布时间】:2015-07-26 16:05:50
【问题描述】:

我正在尝试旋转我的图像,但不是 90 度或 180 度,我实际上不知道我想要旋转的量。如果我可以让旋转工作,我只是猜测并检查旋转量,但是我无法让图像旋转。我查找了许多与此类似的问题,它们都使用 M_PI 或类似的东西。我把它放在我的代码中,没有任何反应,图像永远不会旋转。有人可以帮我让图像旋转。

Box6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"border.png"]];
Box6.center = CGPointMake(StickFigure.center.x + 22, StickFigure.center.y + 19);
Box6.transform = CGAffineTransformMakeRotation(M_PI/45);

M_PI/45 不是我使用的,我只是在搞乱数字,没有任何变化

【问题讨论】:

  • 你能提供你使用的应该执行轮换的代码吗?
  • @Aderis 我添加了代码

标签: ios objective-c xcode rotation


【解决方案1】:

函数CGAffineTransformMakeRotation() 以弧度为单位,如here in the docs 所示,因此通过M_PI/45,您总共旋转了2 度,您可能会误认为没有旋转。为了测试你的代码是否真的有效,我只输入M_PI,相当于 180 度。如果您使用度数并需要等效的弧度,请使用以下公式:radians = degrees * M_PI / 180

【讨论】:

  • 好的,谢谢,这很有帮助,仅使用 M_PI,我无法看到差异,因为它是对称图像。我将如何旋转它,比如 45 度?
  • 我会放 Box6.transform = CGAffineTransformMakeRotation(45 * M_PI/180);
  • 它不起作用,盒子根本没有旋转,我把我评论中的确切代码行放在上面
  • @karateman10998 在这里冒险。您可以尝试使用view.layer.transform = CATransform3DMakeRotation(angleInRadians, 0.0, 0.0, 1.0);,而不是更改视图的转换属性。如果这不起作用,您可以尝试致电 [self setNeedsDisplay];。您正在更改视图的变换矩阵,但如果视图已被绘制,它可能不会被使用。做setNeedsDisplay 应该可以解决这个问题(如果这是问题的话)。
  • 好吧,如果我使用CATransform3DMakeRotation,我会输入什么内容,对不起,这对我来说有点陌生
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
  • 2013-10-10
  • 2021-02-05
  • 2018-10-14
相关资源
最近更新 更多