iPhone SDK: problemas al arrastrar un UIImageView

Estoy intentando arrastrar un UIImageView alrededor de la pantalla del iPhone en mi aplicación.

Actualmente, la funcionalidad de arrastre que he configurado está bien y al arrastrar la imagen se mueve alrededor de la pantalla, el problema es que no tiene que arrastrar la vista de la imagen para moverla, también puede arrastrar a cualquier parte de la pantalla y mover la imagen Soy nuevo en esta plataforma, así que realmente no puedo pensar en qué hacer para resolver este problema. Mi código actual para arrastrar la imagen es:

 - (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    startLocation = pt;


}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    CGRect frame = [pig frame];
    frame.origin.x += pt.x - startLocation.x;
    frame.origin.y += pt.y - startLocation.y;
    [pig setFrame: frame];
}

Cualquier ayuda apreciada. Por cierto cerdo es el UIImageView. También me he dado cuenta de que si configuro la interacción del usuario de la vista de imagen "pig" para habilitarla, la imagen ya no se puede arrastrar, pero cuando no está configurada para habilitar, lo es.

Respuestas a la pregunta(3)

Su respuesta a la pregunta