在 xcode 中旋转图像
Posted
技术标签:
【中文标题】在 xcode 中旋转图像【英文标题】:Rotate image in 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 我添加了代码 【参考方案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
,我会输入什么内容,对不起,这对我来说有点陌生以上是关于在 xcode 中旋转图像的主要内容,如果未能解决你的问题,请参考以下文章