【问题标题】:Alphabetic gesture recognition in all screens of my app我的应用程序所有屏幕中的字母手势识别
【发布时间】:2013-03-20 05:59:17
【问题描述】:

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

- (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];
 }

【问题讨论】:

  • 您能告诉我您是如何检测到用户绘制的是哪个字母吗?任何的想法 ?我不知道如何以及从哪里开始?
  • 我使用github.com/preble/GLGestureRecognizer进行手势识别,您必须为您的手势采集样本点并将其添加为具有相应值的JSON文件。
  • 感谢分享...

标签: iphone ios ios4 touch gesture


【解决方案1】:

我认为您需要一些触摸拦截窗口来处理所有触摸。 如果您的手势被识别,则对其进行处理,否则将触摸传递给您的视图控制器。详情请参考this link

【讨论】:

  • 是的,我这样做了,但是我的底层视图根本没有收到触摸事件。
  • 我在你的链接中做了同样的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多