¿Cómo puedo determinar si se tocó un UILabel?

Estoy tratando de determinar si un UILabel fue tocado y si es así, haga algo. Dar ..

.
.
.
UILabel * site = [[UILabel alloc] initWithFrame:CGRectMake(0, 185, 320, 30)];
site.text = [retriever.plistDict valueForKey:@"url"];
site.textAlignment =UITextAlignmentCenter;
site.backgroundColor = [UIColor clearColor];
site.textColor = [UIColor whiteColor];
site.userInteractionEnabled = YES;
[theBgView addSubview:site];
[site release];
.
.
.    

Luego escribo la devolución de llamada.

 - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
    retriever = [PListRetriever sharedInstance];
    CGPoint pt = [[touches anyObject] locationInView: self];
        NSURL *target = [[NSURL alloc] initWithString:[retriever.plistDict valueForKey:@"url"]];
        [[UIApplication sharedApplication] openURL:target];
  }

El problema es en este momento, no importa dónde toque en la vista que se abre la URL. ¿Cómo determino si solo se tocó mi etiqueta?

Respuestas a la pregunta(6)

Su respuesta a la pregunta