ユーザーが時計の針を回転できるようにするアプリケーションを開発しています。そのために、針の imageview の transform プロパティを使用しています:
CGAffineTransform newTrans = CGAffineTransformRotate(initialTransform, -angleDif);
minutesNeedle.transform = newTrans;
ユーザーのタッチを検出するために、針のスペース (分または時間のフレーム) を検出する必要があります。そして、ここで私の問題が明らかになりました。画像を回転させた後、画像が引き伸ばされて他の画像と干渉しているように見えます。UIView クラスのドキュメントには、変換後にビューのフレームが変更され、center プロパティと bounds プロパティを使用する必要があることが記載されています。ただし、境界プロパティを使用して、スーパービューにあるタッチ ユーザーを検出することはできません。
フレームサイズを変更せずにこのアニメーションを行う他の方法はありますか (私は疑問です)。または、touchesEnded メソッドでフレームのサイズを変更できますか (試してみましたが無駄でした)。私がそこで1週間ブロックするのを助けてください!! ありがとう