One UIView
and one Draggable UIImageView
があります。の背景色UIView
は緑です。
画像をドラッグするときは、UIImageView
をタッチしUIView
ます。画像をドラッグするとUIView
、の色がredUIView
になります。
UIImageView
到達したことを確認する方法はUIView
?
One UIView
and one Draggable UIImageView
があります。の背景色UIView
は緑です。
画像をドラッグするときは、UIImageView
をタッチしUIView
ます。画像をドラッグするとUIView
、の色がredUIView
になります。
UIImageView
到達したことを確認する方法はUIView
?
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
if (CGRectIntersectsRect(imageview.frame, view.frame)) {
view.backgroundColor=[UIColor redcolor];
}
}
以下のような方法で確認できますtouchesBegan
...
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
[touch locationInView:self.view];
if([touch.view isKindOfClass:[UIImageView class]])
{
///This is UIImageView
}
else if([touch.view isKindOfClass:[UIView class]])
{
///This is UIView
}
}
その時点で移動すると、次のコードUIImageView
で backGroundColor が変更されUIView
ます...
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *tap = [touches anyObject];
CGPoint pointToMove = [tap locationInView:self.view];
if([tap.view isKindOfClass:[UIImageView class]])
{
UIImageView *tempImage=(UIImageView *) tap.view;
if ([yourView pointInside:pointToMove withEvent:event])
{
[yourView setBackgroundColor:[UIColor redColor]];
}
else{
[yourView setBackgroundColor:[UIColor clearColor]];//set backcolor which you want when `UIImageView` move outside of yourView
}
}
}
また、移動については、このリンクからの回答を参照してくださいUIImage を別の UIImage 内でのみ移動します