我想从图像的旋转木马中拖动图像并将其放入另一个图像视图中。拖动它后应该从旋转木马中删除。我已完成此代码,也将从旋转木马中删除。 我使用过触摸事件。
但问题是,当我触摸屏幕上的任何其他位置时拖动一个图像后,它会自动选择下一个图像。我怎么能停止它?我想在点击它时拖动图像。
我的代码。
- (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。 如果有人知道然后请帮助我或任何链接然后也有用。 在此先感谢。
答案 0 :(得分:0)
您在touches.began CGPoint location = [touch locationInView:touch.view];
中使用了此代码,其中touch.View
表示触摸视图中的所有对象self.view
。你真正需要的是添加要放置的图像的名称而不是touch.View。这将一次选择图像。
CGPoint location = [touch locationInView:imageName];