0

我正在为 ipad 构建一个场地布局应用程序,它将使用不同类别的对象(桌子/椅子/舞台部分等)供用户添加到平面图和调整。

在其他应用程序中,我使用 UIgestures 来平移和旋转对象:

- (IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {

CGPoint translation = [recognizer translationInView:self.view]; 
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y); 
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}

- (IBAction)rotateMe:(UIRotationGestureRecognizer *)recognizer{

recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0;
}

但是,此应用程序的对象将比普通手指小,从而允许多个触摸手势。

我想在视图中选择一个“旋转”按钮,按下并按住该按钮将允许在任何对象上单击以自定义旋转它。

或者是否有人可以指导我找到更好的选择?

4

2 回答 2

0

做起来应该相当简单。触摸旋转按钮将打开旋转,按下另一个对象将执行旋转。用来CGAffineTransformMakeRotation旋转。

yourObject.view.transform=CGAffineTransformMakeRotation(yourVariable*M_PI/180.0);

将 yourVariable 增加您选择的任何角度,每次都应旋转一点,即每次触摸对象时,增加 90 会使对象旋转 90 度。

于 2012-06-23T22:01:41.600 回答
0

GitHub 上有一个名为 KTOneFingerRotationGestureRecognizer 的项目,它是一个自定义旋转手势识别器,使用单指进行旋转。你触碰一个物体并旋转它,就好像它的中心有一个轴一样。它可能对您有用,具体取决于您的形状有多小。您可能需要使您的视图比它们包含的图像大一点(换句话说,添加一些填充。)

于 2012-06-23T22:44:30.083 回答