アニメーション(移動)ビューでのタッチの検出
-
27-10-2019 - |
質問
私が抱えている問題は、画面全体の動きをアニメートしているUIView
またはUIViewController
のタッチを検出することです。私はUITapGesture
、touchesbegan
、およびUIbutton
を試しました。しかし、問題はアニメーションブロックを使用するときにあることがわかりました。ビューの場所は終了位置に設定されており、移動中に触れることはできません。(ビューが停止する場所にタッチすると、タッチが読み取られます)。アニメーション用にUIView
アニメーションブロックを試しました。私もCAKeyframeAnimation
を使おうとしましたが、すべて同じ結果になりました。
ジェネラコディセタグプレ
これが私が欲しいものの簡単な例です。画面上をランダムに移動するボールの画像が欲しいです。ボールがいつ触れられたか知りたい。
解決
別のプロジェクトで偶然答えに出くわしました。問題は、アニメーション化されているときにビューのフレームを見つけようとしていたことでした。また、アニメーション中にフレームは変更されません。しかし、役立つレイヤーのプロパティがあります。 ジェネラコディセタグプレ
このレイヤープロパティから、アニメーションビューの現在のフレームを取得できます。次に、presentationLayersフレームでテストを行うことができます。
所属していません StackOverflow