如何获得倾斜图像的当前角度?
我用来扭曲它的代码是:
CGAffineTransform t = CGAffineTransformMake(1.0, 0.0, tan(angle*(M_PI/480)), 1.0, 0.0, 0.0);
答案 0 :(得分:1)
您可以尝试这样的事情:
CGFloat angle = [(NSNumber *)[view valueForKeyPath:@"layer.transform.rotation.z"] floatValue];
答案 1 :(得分:1)
试试这个:
CGFloat radians = atan2f([self myview].transform.b, [self myview].transform.a);
使用此功能,您可以获得任意UIView
的当前角度。
继续摇摆......享受......:)
答案 2 :(得分:0)
试试这个:
CGFloat skew_c = [(NSNumber *)[view valueForKeyPath:@"layer.transform.c"] floatValue];
Keypath是猜测,但应该工作。 CGAffineTransformMake docs
编辑:
看起来CGAffineTransform被翻译成4x4 CATransform3D
矩阵。
transform
是CALayer
of CATransform3D
类型的属性。
这意味着您可以通过以下调用访问m11
.. m44
参数:
CGFloat m11 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m11"] floatValue];
...
...
CGFloat m44 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m44"] floatValue];
你仍然需要做一些计算才能得到你的偏斜因子。您可以从this great answer派生c_factor的等式。