2

如何获取倾斜图像的当前角度?

我用来扭曲它的代码是:

CGAffineTransform t = CGAffineTransformMake(1.0, 0.0, tan(angle*(M_PI/480)), 1.0, 0.0, 0.0);
4

3 回答 3

1

你可以尝试这样的事情:

CGFloat angle = [(NSNumber *)[view valueForKeyPath:@"layer.transform.rotation.z"] floatValue];
于 2012-06-10T19:04:25.117 回答
1

试试这个:

CGFloat radians = atan2f([self myview].transform.b, [self myview].transform.a);

有了这个,你可以获得任何的当前角度UIView

继续摇摆...享受... :)

于 2013-10-03T14:03:59.483 回答
0

试试这个:

CGFloat skew_c = [(NSNumber *)[view valueForKeyPath:@"layer.transform.c"] floatValue];

密钥路径是猜测的,但应该可以工作。CGAffineTransformMake 文档

编辑:

看起来 CGAffineTransform 被转换为 4x4CATransform3D矩阵。

transformCALayer of CATransform3D类型的属性。

这意味着您可以通过以下调用访问m11..参数:m44

CGFloat m11 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m11"] floatValue];
...
...
CGFloat m44 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m44"] floatValue];

你仍然需要做一些计算才能得到你的偏斜因子。您可以从这个出色的答案中为您的 c_factor 推导出方程式。

于 2012-06-10T19:17:45.617 回答