SimpleUITapGestureRecognizer
を追加し、ユーザーがタップ/タッチしたときに呼び出されるGesture メソッドUIImageView
を作成しました UIImageView
私のコードは:
UITapGestureRecognizer *eagleTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(eagleTapGestureIsCall:)];
eagleTapGesture.numberOfTapsRequired = 1;
[self.egaleImgView addGestureRecognizer:eagleTapGesture];
ジェスチャー方法:
- (void)eagleTapGestureIsCall:(UITapGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:[recognizer.view superview]];
NSLog(@"Eagle is Tapped X - %f",location.x);
NSLog(@"Eagle is Tapped Y - %f",location.y);
}
UIView
ここで、代わりにジェスチャーを追加するself.egaleImgView
と機能します(ジェスチャーメソッドが呼び出されることを意味します)が、なぜ機能しないのですself.egaleImgView
か???
グーグルで調べたところ、 にUIView
到達する前にタッチを傍受している可能性があることがわかりましたUIImageView
。
だから私は最初に次の行を追加しましたviewDidLoad
self.view.userInteractionEnabled = NO; /// Here i set userInteractionEnabled = NO;
理解を深めるために、以下に構造を説明します。
main UIView
| |
(Sub view) mainBackGroungImageView //// size is similar to size of main UIView
| |
(Sub view) gestureAdded ImageView
編集:
self.egaleImgView.userInteractionEnabled = YES;
imageViewに既に追加したことを忘れて申し訳ありませんが、うまくいきません。
私の問題に関する提案をお願いします。
前もって感謝します。