0

カスタムscrollViewクラス内のinitierScrollView関数で複数のUIViewオブジェクトを生成しました。そのオブジェクトのそれぞれにタグを付け、それぞれをNSMutableArrayオブジェクトに挿入しました。UIPanGestureRecognizerをその各ビューオブジェクトに関連付けたよりも。

    -(void)initierScrollView
    {
        int i;
        for (i=0; i<6; i++) {

            UIImage *image = [UIImage imageNamed:@"back.png"];
            UIImageView *bouton = [[UIImageView alloc] initWithImage:image];
            [bouton setTag:i];
            [bouton setFrame:CGRectMake(10+62*i,10,62,55)];
 classementBoutons = [[NSMutableArray alloc] initWithCapacity:40];
            [classementBoutons insertObject:bouton atIndex:i];
            bouton.userInteractionEnabled = YES;

            UIPanGestureRecognizer *recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)];
            //recognizer.delegate = self; 
            [bouton addGestureRecognizer:recognizer];


            [self addSubview:bouton];
    }

現在、ジェスチャを移動しているオブジェクトを選択して、オブジェクトを再利用しようとしています。NSMutableArray(ヘッダーファイルで定義されている)から各オブジェクトを取得する方法を試しましたが、Xcodeがそれらを認識していないようです(新しい動きはありません)。

-(IBAction)handlePanGesture:(UIPanGestureRecognizer*)recognizer
{
    NSLog(@"Mouvement ok");
    CGPoint translation = [recognizer translationInView:self];
    recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, 
                                         recognizer.view.center.y + translation.y);
    [recognizer setTranslation:CGPointMake(0, 0) inView:self];


    if(recognizer.state == UIGestureRecognizerStateEnded)
    {
        NSLog(@"voila c'est fait");
        [[classementBoutons objectAtIndex:2]setFrame:CGRectMake(50, 50, 100, 100)];

    }
}

Mutable配列に挿入されたオブジェクトが、取得された後に認識されない理由がわかりません。

ご回答ありがとうございます。

ビクター

4

0 に答える 0