用户转换时如何确定图像状态



好的标题可能很含糊,但这是我想做的。

我的应用程序有两个轮子。用户可以旋转外轮以匹配内轮中的值,从而根据所选值显示某些结果。

现在,我可以通过设置变换属性来旋转图像罚款。但是一旦转变,我怎么知道外轮上选择了什么?

一种方法是获取转换属性并操纵它。

但是如何???

我不会旋转图像本身,而是映像层的层。然后,您可以始终访问包含图像的图像视图层的转换属性。

好,这是一些代码。首先,您必须获得UIImageView

的层
CALayer* layer = [self.layer presentationLayer];

然后,您可以读取类似键盘的图层所需的任何旋转。

float rotationAngle = [[layer valueForKeyPath:@"transform.rotation.z"] floatValue];

让我知道这是否没有帮助。还有另一种获得旋转角度的方法。但这有点复杂;)

您可以跟踪您以弧度或程度(适当的)旋转图像的数量,然后进行一些触发,然后弄清楚它指向的位置。从仿射变换中提取旋转非常困难。

编辑:以下是一些未经测试的片段,可以让您入门:

在您的标题中:

CGFloat _userRotation;

当您旋转旋转时,假设rotation是用户旋转数量的CGFloat,则是弧度:

myView.transform = CGAffineTransformMakeRotation(rotation);
_userRotation = rotation;

然后,您需要做的就是使用一些触发物来找出您指向的图像。我不能为您提供示例代码,因为数学取决于您要做的事情,但是当前的旋转将在_userRotation中可用。

我不确定这是您要问的。它有帮助吗?

最新更新