Am încercat să adăugați o UILabel la un MKAnnotationView ca leftCalloutAccessoryView imediat după un cod PIN a fost selectat pentru prima dată în MKMapView. Adăugarea etichetei nu este o problemă: va fi selectat și înștiințarea se deschide, iar acest lucru este atunci când am adăuga eticheta la vizualizarea înștiințărilor. Extins înștiințarea devine automat la stânga cu o animație de diapozitive, și este prezentată noua etichetă care include 2 linii. Din păcate, am nevoie pentru a adăuga eticheta după PIN-ul a fost selectat pentru că am nevoie de anumite informații cu privire la faptul că mai întâi Pin.
Problema acum este că textul în această etichetă este oarecum „neclare“, ca ea nu este redat corect. Când am deselectați și selectați-o înștiințare din nou, totul este desenat corect.
Acesta este modul în care am adăuga eticheta: În
timpul creării de MKPinAnnotationView mă înscriu în calitate de observator pentru „selectat“ proprietatea de vedere, deoarece nu există nici o metodă de delegat pentru selectarea PIN - ul. Atunci când PIN - ul este selectat în vizualizarea, incendiile mele metoda de observare și pur și simplu adaugă eticheta text la vizualizarea. (crea UILabel cu 2 linii, o culoare de fond clar și un font sistem alb bold, setați leftCalloutAccessoryView, eliberați eticheta). Am încercat setNeedsDisplay, setNeedsLayout și alte câteva lucruri, dar indiferent de ce, textul este încă neclar în etichetă , până când PIN - ul este selectat pentru a doua oară.
Orice idee cum pot obține această etichetă să fie desenat corect, fara a fi neclare?
Mulțumesc anticipat!













