1

こんにちは 。UIImageViewオブジェクトを移動しようとしUITouchていますが、コードに問題があります。UIImageView オブジェクトのみを検出するために UITouch を実装するにはどうすればよいですか?

**imageA それは私の UIImageView

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

        UITouch *toucheA = [[event allTouches] anyObject];

    if ([toucheA view] == imageA) {
        CGPoint location = [toucheA locationInView:self];
        imageA.center = location;       

    }
}

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    [self touchesBegan:touches withEvent:event];
    CGPoint postion = imageA.center;
    imageA.center = postion;
    postion.y = 230;
    imageA.center = postion;

}

しかし、動作しません!

4

1 に答える 1

1

サブクラス化することでカスタム UIImageView を作成し、カスタムビュー内で必要なタッチイベントを受け取ることができると思います。

通常、一番上のビューがタッチ イベントを受け取ります。ビューがタッチ イベントを処理し、イベントを別のビューに渡さない場合、その背後にある他のビューはタッチ イベントを受け取ることができません。ビューがタッチ イベントを処理できない場合は、super のメソッドを呼び出してそれを渡します。

于 2010-09-11T00:15:37.133 に答える