Am un grafic fiind tras în interiorul unui UIScrollView. Este o mare UIViewfolosind o subclasă personalizat de CATiledLayerdrept stratului său.
Când m - am mări și în afara UIScrollView, vreau grafic pentru a redimensiona dinamic așa cum o face atunci când mă întorc de la graficul viewForZoomingInScrollView. Cu toate acestea, graficul se redesenează la noul nivel de zoom, și vreau să resetați scara transformatei 1x1 , astfel încât data viitoare când utilizatorul face zoom, transformare pornește de la vizualizarea curentă. Dacă resetez transformatei identității în scrollViewDidEndZooming, funcționează în simulator, dar aruncă o EXC_BAD_ACCSESpe dispozitiv.
Acest lucru nu rezolvă problema, chiar în întregime pe simulator, fie, pentru că data viitoare când utilizatorul face zoom, de transformare în sine resetează la orice nivel de mărire a fost la, și așa se pare că, dacă am fost mărită la 2x, de exemplu, este brusc la 4x. Când am terminat zoom-ul, se termină până la scara corectă, dar actul real al zoom-ului arată rău.
Deci, în primul rând: Cum pot permite grafic pentru a se aspira la scara standard 1x1 după zoom, și cum am un zoom, lin?
Editare: Noile descoperiri Eroarea pare a fi „ [CALayer retainCount]: message sent to deallocated instance“
Eu nu dealocarea nici straturi mine. Înainte, nu am fost chiar și ștergerea orice opinii sau ceva. Această eroare a fost a fost aruncat pe zoom și, de asemenea, pe Rotate. Dacă am șterge obiectul înainte de rotație și adăugați din nou după aceea, nu arunca excepție. Aceasta nu este o opțiune pentru zoom.













