Można sprawdzić lokalizację dotyku, aby sprawdzić, czy znajduje się on na słowie "Kliknij". Może to jednak nie być całkowicie dokładne i może się zepsuć, jeśli zmienisz tekst w swojej etykiecie.
Co można zrobić, to najpierw uzyskać lokalizację jednym kliknięciem za pomocą:
CGPoint location = [gesture locationInView:gesture.view];
To dostaje lokalizację gest w widoku.
Gdy masz to, można mieć rozmiar słowo „Click” zakodowane lub można utworzyć identyczną etykietę do etykiety gest, aby uzyskać rozmiar, takich jak:
UILabel *sizeLabel = //create label with same font.
[sizeLabel setText:@"Click"];
float width = [sizeLabel sizeThatFits:CGSizeMake(MAXFLOAT,MAXFLOAT)].width;
Możesz to również zrobić podczas tworzenia faktycznej etykiety i zapisać tę szerokość w zmiennej statycznej, tak, że musisz zrobić to tylko raz i nie musisz tworzyć dodatkowej etykiety (np. Ustawić tekst swojej prawdziwej etykiety na @ " Kliknij ", uzyskaj szerokość, a następnie ustaw ją na prawdziwy tekst).
Gdy masz szerokość, ty i lokalizacja kranu, można sprawdzić, czy słowo „Click” został wykorzystany przez porównanie:
if (location.x < width) {
//Put your tap code in here.
}
Można również znaleźć kilka potencjalnie użytecznych odpowiedzi w [tym ściśle powiązane (jeśli nie duplikat) pytanie] (http://stackoverflow.com/questions/1256887/clickable-links-in-uilabel). –