2013-03-20 62 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