Исходя из вашего комментария и используя уже имеющийся код, я бы пошел по этому пути. Это не то, что я бы сделал лично, просто к вашему сведению. Структура немного шаткая с тем, как она звучит так, как вы этого хотите.
Создайте заполнитель UIImageView в функции touchesBegan, затем проверьте, не пересекаются ли они, когда пользователь прекращает перемещать изображение.
#import "LetterTiles.h"
@implementation LetterTiles
@synthesize placeHolder;
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
// Retrieve the touch point (I consider this useful info to have, so I left it in)
CGPoint pt = [[touches anyObject] locationInView:self];
startLocation = pt;
// Create a place holder image wherever you want
[self setPlaceHolder:[[[UIImageView alloc] initWithFrame:CGRectMake(39, 104, 70, 70)] autorelease]];
[newImage setImage[UIImage imageNamed:@"placeHolder.png"]] autorelease];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint pt = [[touches anyObject] locationInView:[self superview]];
[self setCenterPoint:pt];
}
-(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event {
LetterTiles *movingTile = self;
if (CGRectIntersectsRect([movingTile frame], [placeHolder frame])) {
NSLog(@"Touched");
[self setFrame:[placeHolder frame]];
}
}