2016-11-13 7 views
0

タイトルと同じように、プロジェクトでXcode8を更新すると、長いプレスジェスチャがトリガされやすいので、画面をタップしても呼び出されます。キーボードにもこの問題があります。私は単語を入力すると、Xcodeのは次のようにINFOMATIONを印刷:iOSプロジェクト:なぜ長押しのジェスチャーがトリガーされやすいのですか?

[UIWindow endDisablingInterfaceAutorotationAnimated:] called on <UIRemoteKeyboardWindow: 0x100ffb940; frame = (0 0; 414 736); opaque = NO; autoresize = W+H; layer = <UIWindowLayer: 0x17042d700>> without matching -beginDisablingInterfaceAutorotation. Ignoring. 

をそして、私は(ちょうど触れる)をタップしたときにビューで、私は、タップジェスチャーとlongpressジェスチャーを追加し、ジェスチャーはlongpress、タップされていないトリガジェスチャー。この問題はどこでも検索されていないので、私はあなたの助けを求めるためにここに来る。 (私を許し、それは私の英語でひどいです)

私はあなたのために2枚の写真をはっきりとわかります。

この

keyboard

textviewは私のコードです:

UILongPressGestureRecognizer * lp = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(lp:)]; 
lp.minimumPressDuration = 1.0f; 
[_imageView addGestureRecognizer:lp]; 
- (void)lp:(UILongPressGestureRecognizer*)lp { 
    if (lp.state == UIGestureRecognizerStateBegan) { 
     if (self.delegate && [self.delegate respondsToSelector:@selector(longPressImage)]) { 
      [self.delegate longPressImage]; 
     } 
    } 
} 

また、この問題は、一部のデバイスで起こった、すべてではないdevices.Oneデバイスは常に起こった、他の人がちょうどいつか起こった、とき私はもう一度プロジェクトをビルドします。それはちょうどOKO__O "...

+0

コードを投稿してください。 – shallowThought

+0

申し訳ありませんが、質問の意味を理解することは難しいです。 – Eiko

+0

あなたの質問を、長押しのジェスチャーをどのように作成して設定し、そのイベントをどのように処理するかを示す関連コードを更新してください。 – rmaddy

答えて

0

の代わりにUIGestureRecognizerStateEndedをチェックする必要があります。タッチが何らかのジェスチャーの開始として認識されると、UIGestureRecognizerStateBeganがトリガーされます。このジェスチャーは、あなたが探している長きにわたるプレスである必要はありません。レコグナイザの状態がUIGestureRecognizerStateEndedに変更された時点でのみ、長押しが期待どおりに実行されます。

- (void)lp:(UILongPressGestureRecognizer*)lp { 
    if (lp.state == UIGestureRecognizerStateEnded) { 
     if (self.delegate && [self.delegate respondsToSelector:@selector(longPressImage)]) { 
      [self.delegate longPressImage]; 
     } 
    } 
} 
+0

あなたの答えをありがとう。しかし、私はこれは解決策ではないと思う、私はこれを試して、それは動作しません。私の見解では、ジェスチャーは理由ではないかもしれない理由は私がどこかのランタイムを使用しているかもしれません。ありがとう! –

関連する問題