uilabel în interiorul unui uiview - adăugând un gest la etichetă, care nu operează

Am un uilabel (și alte etichete, de asemenea) într-o uiview. Am adaugat un gest ca, atunci cand eticheta este apasata, fac o anumita ibactie.

Acțiunea nu este declanșată, totuși dacă aș așeza eticheta în afara uiview (înseamnă că nu este un copil al uiview) decât funcționează bine. Am plasat-o înapoi în interiorul vederii, decât să oprească acțiunea.

orice idee de ce?

ceva în care eticheta se află în interiorul uiview nu face să reacționeze la gest și nu sunt sigur de ce (în ciuda faptului că atât uiview, cât și eticheta au activat interacțiunea cu utilizatorul).

TIA

0
[self.lbltst setUserInteractionEnabled: YES]; [auto.resultView setUserInteractionEnabled: YES]; UITapGestureRecognizer * atingeți = [[UITapGestureRecognizer alloc] initWithTarget: auto.resultView acțiune: @selector (dispDetail)]; [self.lbltst addGestureRecognizer: apăsați]; Deasupra este codul - eticheta este lbltst, iar uiview-ul care conține eticheta este rezultatul
adăugat autor Stk Stocki, sursa
Asigură-vă că userInteractionEnabled este setat la YES în vizualizarea care conține
adăugat autor Paul.s, sursa
Ați adăugat eticheta în UIView sau UIImageView? De asemenea, vă rugăm să postați un cod
adăugat autor Omar Abdelhafith, sursa
De ce să nu adăugați un buton personalizat transparent peste etichetă pentru ca aceasta să funcționeze? (presupunând o singură atingere)
adăugat autor Nitin Alabur, sursa

2 răspunsuri

aparent a existat o problemă cu controlul părintelui, am redrew View și a funcționat bine. Multumesc pentru comentarii.

0
adăugat

Cred că problema aici este că UILabel primește evenimentul touch în loc de UIView. Încercați să adăugați următorul cod (modificat pentru a se potrivi etichetei dvs., desigur) cu metoda viewDidLoad :

myLabel.userInteractionEnabled = FALSE;

Acest lucru ar trebui să permită ca evenimentele touch să treacă la UIView. De ce faci asta? Ar putea să nu fie mai ușor să lucrezi cu UIButton ?

0
adăugat
Vreau ca gestul uilabel să nu meargă la uiview, dar odată ce este în interiorul unui uiview nu este.
adăugat autor Stk Stocki, sursa
da, vă rugăm să verificați dacă există sau nu permisiunea UserinterectionEnable?
adăugat autor Prabhat Kasera, sursa