0

画像のカルーセルから画像をドラッグして別の画像ビューに入れたい.ドラッグした後、カルーセルから削除する必要があります.カルーセルからも削除するコードを実行しました. タッチイベントを使用しました。

しかし、問題は、画面の他の場所をタッチすると、1 つの画像をドラッグした後、次の画像が自動的に選択されることです。

私のコード。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint location = [touch locationInView:touch.view];
    btnBackImg.center = location;
}

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [[event allTouches] anyObject];
    CGPoint pointMoved = [touch locationInView:self.view];   
    btnBackImg.frame = CGRectMake(pointMoved.x, pointMoved.y, btnBackImg.frame.size.width,btnBackImg.frame.size.height);
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    NSLog(@"touch end");
    if (btnBackImg != nil)
    {
        UITouch *touch = [[event allTouches] anyObject];
        if (CGRectContainsPoint(basket_image.frame, [touch locationInView:self.view]))
        {
            basket_image.image=[UIImage imageNamed:[NSString stringWithFormat:@"wit_bas.png"]];
            [self.product_categories removeObjectAtIndex:imgIndex+1];
            [carousel reloadData];
        }
    }   
}

この btnCackImg では、basketImg に移動します。誰かが知っている場合は、plsが私を助けてくれるか、リンクがあればそれも役に立ちます。前もって感謝します。

4

1 に答える 1

0

このコードを touches.beganCGPoint location = [touch locationInView:touch.view];で使用しました。touch.Viewビュー内のすべてのオブジェクトに触れることを意味しますself.view。本当に必要なのは、touch.View の代わりに配置する画像の名前を追加することです。これにより、一度に画像が選択されます。

CGPoint location = [touch locationInView:imageName];
于 2012-08-18T08:48:46.457 に答える