私は描画アプリを作成しており、タッチの速度に応じてブラシのサイズを増やしたいと考えています。
どうすればこれを達成できますか?
はい。具体的には、 UIView
namedのメソッドを参照してください。touches*
- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
動き (「スライド」?) が検出されたときに呼び出され、複数回の素早いタッチによって「だまされる」ことはありません。ビュー内の現在の指の位置の座標と、イベントが発生した時刻を取得できます。
UITouch *touch = [touches anyObject];
CGPoint inFrameCoordinate = [touch locationInView:self];
NSTimeInterval timestamp = [touch timestamp]
速度を計算するために、2 つの座標間の距離と時間を取得します。
UITouchには、場所とタイムスタンプのプロパティがあります。これらのプロパティを使用して、2 つのタッチ イベント間のタッチの「速度」を計算できます。
もちろん、これは 1 回のタッチでのみ機能し、結果を滑らかにする必要がある場合があります。また、ユーザーは 2 本の指で交互にすばやくタップして「ごまかす」ことができる場合があります ;-)