画像/ボタンのグリッドがあり、ユーザーが画像/ボタンの上に指をドラッグして、指が各画像/ボタンに触れたときにイベントが呼び出されるようにしたいと考えています。
どうすればいいですか?
私が今考えることができる最も良い例は、連絡先アプリです。これは、文字のリスト(右側)を指で下にドラッグし、各文字をタッチすると、連絡先リストのその部分にジャンプします。
画像/ボタンのグリッドがあり、ユーザーが画像/ボタンの上に指をドラッグして、指が各画像/ボタンに触れたときにイベントが呼び出されるようにしたいと考えています。
どうすればいいですか?
私が今考えることができる最も良い例は、連絡先アプリです。これは、文字のリスト(右側)を指で下にドラッグし、各文字をタッチすると、連絡先リストのその部分にジャンプします。
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
UIViewControllerに実装する必要があります。このメソッドは、タッチが画面上を移動するたびに呼び出されます。次に、座標を使用するか ( を使用[myUITouch locationInView:self.view]
) [self.view.layer hitTest:[myUITouch locationInView:self.view]]
、タッチが発生した画像/ボタンを取得して、そこから作業することができます。
たとえば、それぞれが 32 ピクセル x 32 ピクセルの 10 個の画像の行があり、それぞれが触れられたときに記録したい場合、次のようなことができます。
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
CGSize buttonSize = myButton.bounds.size;
CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
if (touchPoint.y < buttonSize.y) {
NSInteger buttonNumber = touchPoint.x/buttonSize.x;
NSLog(@"Button number %d pushed", buttonNumber);
}
}
これは、マルチタッチが無効になっていることを前提としていることに注意してください。または、1 つのタッチをランダムに選択して記録します。