我在我的应用程序中有一个虚拟键盘,带有6个键,整个事物只是一个用UIImageView
实现的图像。我确定对应于每个“关键”的图像的准确的x和y坐标,并且用下面的代码来与键盘交互的用户响应:寻找替代touchesMoved来检测定义区域内的任何触摸事件?
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch * touch = [[event allTouches] anyObject];
CGPoint point = [touch locationInView:touch.view];
if(point.y < 333 && point.y > 166 && point.x < 72 && point.x > 65)
{
NSLog(@"Key pressed");
}
//Repeat per key...
}
但是,我已认识到这个方法不是非常聪明,因为改变手机视角(纵向到横向)或更换设备会破坏我的x和y坐标,并因此导致问题。
所以,我正在寻找一种替代方法来指定绝对的x和y值,并且一般使用touchesMoved。理想情况下,它将是一个具有特定设置的按钮,如果它被轻敲,或者用户将他们的手指拖入按钮区域(即使速度很慢 - 我之前使用滑动检测,并且需要太多的夸大的运动)。
是否可以设置一个按钮来调用其方法,如果轻击或者触摸事件是否在按钮之外开始,然后进入按钮?如果不是,我的替代品是什么?
谢谢SE!
你可能想'转换'你的'点'为GL' – LAMBORGHINI
看到我的答案,我把转换点在那里。你需要将手指拖到按钮上才能做什么? – LAMBORGHINI