2013-03-20 61 views
1

我正在检测我的应用程序中的字母手势。所以当用户在屏幕上绘制一个C时会有一个特殊的动作发生,等等。我正在使用识别器类,它具有关于每个字母接触点的预定义数据,并且检测是可以的。我想在我的所有屏幕中使用此功能,因此我将下面的方法添加到appDelegate类中,并仅检测窗口中的触摸,这里发生的是其他视图,如tableview,屏幕内的滚动视图阻止将触摸事件发送到窗口 - If那会发生完美,那么我的代码就像魅力一样工作。任何帮助表示赞赏。我的应用程序的所有屏幕中的字母手势识别

- (void)processGestureData 
    { 
    NSString *gestureName = [recognizer findBestMatchCenter:&center 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]; 
} 
+0

您能告诉我您是如何检测用户绘制哪个字母的?任何想法 ?我不知道如何以及从哪里开始? – Devang 2014-02-05 12:26:30

+0

我使用https://github.com/preble/GLGestureRecognizer来执行手势识别,你必须为你的手势取样点并添加一个带有相应值的JSON文件。 – satheeshwaran 2014-02-06 07:20:24

+0

感谢分享... – Devang 2014-02-07 06:39:11

回答

1

我认为你需要一些触摸侦听窗口,它将坐在所有触摸位置。 如果你的手势被识别,处理,否则传递给你的视图控制器。详情请参阅this link

+0

是的,我做到了,但是我的底层视图根本没有收到触摸事件。 – satheeshwaran 2013-04-04 04:37:40

+0

你做了什么?你可以显示你的实现 – DivineDesert 2013-04-04 04:43:04

+0

我做了同样的事情给你的链接。 – satheeshwaran 2013-04-08 09:29:20