我正在开发一个 PanGestureRecognizer 使用一系列 if 语句将按钮移动到几个不同位置之一的系统,如下所示:
(IBAction)drag: (UIPanGestureRecognizer *)recognizer
{
CGPoint touchLocation = [recognizer translationInView:self.view];
if (touchLocation.x > -12.5 && touchLocation.x < 27.5)
{
recognizer.view.center= CGPointMake(30, 486);
}
else if (touchLocation.x > 32.5 && touchLocation.x < 72.5)
{
recognizer.view.center = CGPointMake(75, 486);
}
...
我遇到的问题是,当 touchLocation 从按钮右侧开始(被拖到右侧)时,PanGesture 的坐标开始较晚,并且该部分移动较晚。当玩家从按钮的左侧开始触摸时,坐标会正确计数,并且棋子会正常运行。
在编程方面,我仍然是一个完整的新手,所以这甚至可能不是让我的作品首先移动的最有效方式,但我离工作如此之近,我觉得我所需要的只是一个让我的代码按需要工作。请让我知道你的想法!
谢谢!