我制作了一个使用时钟设置睡眠计时器的应用程序。基本上是时钟,它有一只手可以让用户移动以设置他的睡眠时间。我尝试使用 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/