将图像从轮播拖动到imageview

时间:2012-08-18 08:01:09

标签: iphone objective-c ipad

我想从图像的旋转木马中拖动图像并将其放入另一个图像视图中。拖动它后应该从旋转木马中删除。我已完成此代码,也将从旋转木马中删除。 我使用过触摸事件。

但问题是,当我触摸屏幕上的任何其他位置时拖动一个图像后,它会自动选择下一个图像。我怎么能停止它?我想在点击它时拖动图像。

我的代码。

- (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。 如果有人知道然后请帮助我或任何链接然后也有用。 在此先感谢。

1 个答案:

答案 0 :(得分:0)

您在touches.began CGPoint location = [touch locationInView:touch.view];中使用了此代码,其中touch.View表示触摸视图中的所有对象self.view。你真正需要的是添加要放置的图像的名称而不是touch.View。这将一次选择图像。

CGPoint location = [touch locationInView:imageName];