我制作了一个使用时钟设置睡眠计时器的应用程序。基本上是时钟,它有一只手可以让用户移动以设置他的睡眠时间。我尝试使用 uitouch 旋转图像,但它从中间旋转但我想让它从tip旋转。其次,我希望图像仅在用户触摸图像的尖端时旋转,但是在我的项目中,当用户触摸屏幕的任何部分时图像也旋转。双向图像,但是在我的项目中,由于这种方法,图像仅沿顺时针方向移动
image.transform = CGAffineTransformRotate(image.transform, degreesToRadians(1));
有人可以给我提示或解决方案吗?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    //

        touch = [[event allTouches] anyObject];
        touchLocation = [touch locationInView:touch.view];

        NSLog(@"began");

    }


    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
        // get touch event

        [image.layer setAnchorPoint:CGPointMake(0.0,0.0)];



        if ([touch view] == image) {
            image.transform = CGAffineTransformRotate(image.transform, degreesToRadians(1));

        //image.center = touchLocation;
    }

      }

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
        NSLog(@"end");



    }

最佳答案

要以其他方式旋转它,只需使用:

image.transform = CGAffineTransformRotate(image.transform, degreesToRadians(1));

要旋转技巧,您应该使用setAnchorPoint(就像您在代码中使用的一样,但是我认为您应该这样做:[image setAnchorPoint])。

有关此主题的更多信息:setAnchorPoint for UIImage?

关于ios - 触摸旋转图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5178022/

10-14 23:28
查看更多