0

ここでは、配列を使用して画面上にさまざまな正方形を作成するループを作成し、パンを検出するためのジェスチャ認識エンジンを追加しました。問題は、指を離さずに、あるオブジェクトから次のオブジェクトにスムーズにスライドできるようにしたいということです。しかし、現在のコードでは、指を離して各オブジェクトを個別にスライドする必要があります。各オブジェクト上で指をスムーズにスライドさせ、スライドさせたときにそれらの機能を実行させる方法を知っている人はいますか? これが私のコードです:

    int numby = [squareLocations count];

    for (int i = 0; i < numby; i++)
    {
        NSValue *pointLocation = [squareLocations objectAtIndex:i];
        CGPoint tmpPoint = [pointLocation CGPointValue];
        UIImage *theSquare = [UIImage imageNamed:@"square.png"];

        UIButton *squareButton = [[UIButton alloc] init];

        squareButton = [UIButton buttonWithType:UIButtonTypeCustom];
        squareButton.frame = CGRectMake(tmpPoint.x, tmpPoint.y, theSquare.size.width, theSquare.size.height);
        squareButton.tag = *(&i);
        [squareButton setImage:theSquare forState:UIControlStateNormal];

        UIPanGestureRecognizer *slide = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
        [squareButton addGestureRecognizer:slide];

        [whereStuffActuallyHappens addSubview:squareButton];

    }

}

- (void) handlePan:(UIPanGestureRecognizer *)slide {


    [slide setTranslation:CGPointZero inView:slide.view];

    NSInteger tag = slide.view.tag;
    NSLog(@"Tag is: %i", tag);

    [slide.view removeFromSuperview];
}
4

1 に答える 1

0

これを行うためのちょっとしたハック的な方法は、代わりに正方形のスーパービューにパン ジェスチャを追加し、どのジェスチャの位置がフレームと衝突しているかを確認することです。

于 2013-03-17T05:28:55.290 に答える