Как вы можете обнаружить, если изображение коснулось в Xcode?Я посмотрел на документацию Apple, и это действительно сбивает с толку ... Я видел:
if (CGRectContainsPoint([imageView frame], location))
, но мое изображение все еще не будет двигаться.Я попытался с помощью touchesBegan + touchesMoved и установил для userInteractionIsEnabled изображения значение YES, но он все равно его не обнаружил: (*
EDIT: Большое вам спасибо за ваш большойпредложения! В конце концов, я действительно хотел сделать его как можно более простым, и я знал, что мой код должен работать, поэтому я продолжал возиться с ним, и после хорошего ночного сна я понял, что этодовольно простое решение:
В моих прикосновениях установлено:
UITouch *touch = [[event allTouches] anyObject];
CGPoint location = [touch locationInView:touch.view];
CGRect shapeRect = [imageView frame];
CGRect dropSquareRect = [dropSquare frame];
CGPoint touchLocation = CGPointMake(location.x, location.y);
if (CGRectContainsPoint(shapeRect, touchLocation))
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.3];
[imageView setCenter:touchLocation];
[UIView commitAnimations];
}
if (CGRectIntersectsRect(shapeRect, dropSquareRect))
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:.3];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
self.imageView.alpha = 0;
self.imageView.center = CGPointMake(dropSquare.center.x, dropSquare.center.y);
self.imageView.transform = CGAffineTransformMakeScale(0.8, 0.8);
[UIView commitAnimations];