0

ボタンのメソッドをトリガーする方法として UIControlEventTouchDragEnter を使用してボタンを設定しようとしています。具体的には、ボタンがあり、ユーザーがボタンの外側で指を押し、ボタンの境界に指をドラッグすると、ボタンのメソッドがトリガーされるようにします。

Apple によると、このイベント UIControlEventTouchDragEnter は次のとおりです。 指がコントロールの境界にドラッグされるイベント

ただし、ボタンをトリガーすることはできません。これが私のコードです:

- (IBAction)touchDragEnter:(UIButton *)sender {
    _samlpe.image = [UIImage imageNamed:@"alternate_pic.png"];
}

したがって、このボタンの touchInto がトリガーされると、メソッドは _sample の現在の画像をこの代替画像に変更します。touchUpInside だけを使用すると、ボタンのクリック時に画像が代替に変わります。

なぜこれが機能しないのか、または回避策があるのか​​ 誰かが知っていますか? ありがとう!

4

1 に答える 1

4

touchDragEnter、最初にボタンをタップし、指をボタンの境界の外側にドラッグし、もう一度ボタンの境界にドラッグしたときにのみトリガーされます。

ビュー コントローラー クラスでメソッドを使用しtouchesMoved、タッチの位置に基づいて入力されたボタンを検出することができます。

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch * touch = [[event allTouches] anyObject];
    CGPoint touchLocation = [touch locationInView:touch.view];
    NSLog(@"%f - %f", touchLocation.x, touchLocation.y);
}
于 2013-05-21T03:26:26.103 に答える