私が抱えている問題は、画面全体の動きをアニメーション化しているUIView
またはUIViewController
のタッチを検出していることです。私はUITapGesture
、touchesbegan
、およびUIbutton
を試しました。しかし、問題はアニメーションブロックを使用していることがわかりました。ビューの位置は終了位置に設定されており、移動中はタッチできません。 (ビューが停止する位置とタッチが読み取られる位置に触れることができます)。アニメーション用のアニメーションブロックUIView
を試しました。私もCAKeyframeAnimation
を使用しようとしましたが、すべて同じ結果になります。アニメーション(移動)ビューのタッチを検出する
[UIView animateWithDuration:10 delay:1 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionAllowUserInteraction) animations:^{
[testViewController.view setFrame:CGRectMake(900, 20, 100, 100)];
} completion:^(BOOL finished) {
// Animate moving to another location
}];
ここでは簡単な例を示します。私は画面の周りをランダムに動き回るボールの画像が欲しい。私はいつボールが触れられたのか知りたい。