如何获取倾斜图像的当前角度?
我用来扭曲它的代码是:
CGAffineTransform t = CGAffineTransformMake(1.0, 0.0, tan(angle*(M_PI/480)), 1.0, 0.0, 0.0);
如何获取倾斜图像的当前角度?
我用来扭曲它的代码是:
CGAffineTransform t = CGAffineTransformMake(1.0, 0.0, tan(angle*(M_PI/480)), 1.0, 0.0, 0.0);
你可以尝试这样的事情:
CGFloat angle = [(NSNumber *)[view valueForKeyPath:@"layer.transform.rotation.z"] floatValue];
试试这个:
CGFloat radians = atan2f([self myview].transform.b, [self myview].transform.a);
有了这个,你可以获得任何的当前角度UIView
。
继续摇摆...享受... :)
试试这个:
CGFloat skew_c = [(NSNumber *)[view valueForKeyPath:@"layer.transform.c"] floatValue];
密钥路径是猜测的,但应该可以工作。CGAffineTransformMake 文档。
编辑:
看起来 CGAffineTransform 被转换为 4x4CATransform3D
矩阵。
transform
是CALayer
of CATransform3D
类型的属性。
这意味着您可以通过以下调用访问m11
..参数:m44
CGFloat m11 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m11"] floatValue];
...
...
CGFloat m44 = [(NSNumber *)[view valueForKeyPath:@"layer.transform.m44"] floatValue];
你仍然需要做一些计算才能得到你的偏斜因子。您可以从这个出色的答案中为您的 c_factor 推导出方程式。