読者です 読者をやめる 読者になる 読者になる

Javaな日々

NO JAVA, NO LIFE.

UIGestureRecognizer を強制的に終了させる方法

UIImageView のサブクラスに UIGestureRecognizer を付けて,とあるジェスチャーを検出した際に他のクラスにデリゲートメソッドを用いて処理をさせようとすると,UIGestureRecognizer が操作を受け付けない状況になってしまうことがある.
こういう場合に強制的にジェスチャーを終了させる (ExampleGestureRecognizer.state = UIGestureRecognizerStateEnded) する方法.

#import <UIKit/UIGestureRecognizerSubclass.h>

UIKit/UIGestureRecognizerSubclass.h をインポートするだけで ExampleGestureRecognizer.state が書き換え可能になってしまいます!

割と強引な手法なのでバグの原因になるかもしれませんが,メモしておきます.