3

問題

UIScreenEdgePanGestureRecognizerカスタム キーボード拡張機能で、画面の右端または左端からのエッジ スワイプを認識するために を使用できません。これをテストするために新しいプロジェクトを作成しました。以下で説明するように、 OtherUIGestureRecognizerは正常に動作します。

@implementation KeyboardViewController // A subclass of UIInputViewController
...
-(void)viewDidLoad {
  ...
  UIScreenEdgePanGestureRecognizer *gestureRecognizer = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture)];
  [gestureRecognizer setEdges:UIRectEdgeAll];
  [self.view addGestureRecognizer:gestureRecognizer];
}

- (void)handleGesture
{
  NSLog(@"gesture handled");
}

サンプル プロジェクトを Github でダウンロード

考えられる回避策

UIPanGestureRecognizeraまたは aに変更すると、コンソールUITapGestureRecognizerに表示されます。画面の端近くから始まるジェスチャのみを受け入れる をgesture handled使用できます。UIPanGestureRecognizer

Kiwi Keyboardは、このような回避策を使用します。

警告:は背景色があるUIPanGestureRecognizer場合にのみ機能します。self.view

4

1 に答える 1