我正在努力在我的应用程序中检测字母手势。因此,当用户在屏幕上绘制一个 C 时,会发生一个特殊的动作,依此类推。我正在使用识别器类,该类具有关于每个字母接触点的预定义数据,并且检测正常。我希望在我的所有屏幕中都使用此功能,因此我将以下方法添加到 appDelegate 类并仅检测窗口中的触摸,这里发生的是其他视图(如 tableview ,屏幕内的滚动视图)阻止触摸事件发送到窗口 - 如果这完美地发生了,那么我的代码就会像一个魅力一样工作。任何帮助表示赞赏。
- (void)processGestureData
{
NSString *gestureName = [recognizer findBestMatchCenter:¢er angle:&angle score:&score];
NSLog(@"gesture Name: %@",gestureName);
if ([gestureName isEqualToString:@"N"] || [gestureName isEqualToString:@"n"])
{//handle N gesture
}
if ([gestureName isEqualToString:@"C"])
{//handle C gesture
}
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[recognizer resetTouches];
[recognizer addTouches:touches fromView:self.window];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
[recognizer addTouches:touches fromView:self.window];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[recognizer addTouches:touches fromView:self.window];
[self processGestureData];
}