- (void) setup {
imageView = [[UIImageView alloc] initWithFrame:self.bounds];
imageView.image = [UIImage imageNamed:self.imageName];
[self addSubview:imageView];
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureMoveAround:)];
[panRecognizer setMinimumNumberOfTouches:1];
panRecognizer.delegate = self;
[self addGestureRecognizer:panRecognizer];
[panRecognizer release];
}
-(void)panGestureMoveAround:(UIPanGestureRecognizer *)gesture;
{
UIView *piece = [gesture view];
[self bringSubviewToFront:piece];
CGPoint translation = [gesture translationInView:[piece superview]];
if ([gesture state] == UIGestureRecognizerStateChanged) {
[piece setCenter:CGPointMake([piece center].x + translation.x, [piece center].y+translation.y)];
[gesture setTranslation:CGPointZero inView:[piece superview]];
} else if ([gesture state] == UIGestureRecognizerStateEnded) {
[_delegate subclassView:self panningDidEnd:CGPointMake(self.frame.origin.x, self.frame.origin.y)];
}
}