Jeg har en graf som blir trukket i en UIScrollView. Det er en stor UIViewbruker et egendefinert underklasse av CATiledLayersom sitt lag.
Når jeg zoomer inn og ut av UIScrollView, jeg vil grafen for å endre størrelsen dynamisk som den gjør når jeg kommer tilbake grafen fra viewForZoomingInScrollView. Men tegner selve grafen på den nye zoom-nivå, og jeg ønsker å tilbakestille forvandle skala til 1x1, slik at neste gang brukeren zoomer, den trans starter fra gjeldende visning. Hvis jeg nullstille transformere til identitet i scrollViewDidEndZooming, det fungerer i simulatoren, men kaster en EXC_BAD_ACCSESpå enheten.
Dette betyr ikke selv løse problemet helt på simulatoren heller, fordi neste gang brukeren zoomer, den transtilbakestilles til hva zoom nivået den var på, og slik at det ser ut som om jeg var zoomet til 2x, for eksempel, det er plutselig på 4x. Når jeg er ferdig med zoom, ender det opp i riktig skala, men selve handlingen av zooming ser dårlig.
Så først: hvordan kan jeg tillate grafen for å tegne seg på standard skala fra 1x1 etter zooming, og hvordan kan jeg ha en jevn zoom hele?
Edit: Nye funn feilen synes å være [CALayer retainCount]: message sent to deallocated instance
Jeg kommer aldri allokering noen lag selv. Før var jeg ikke engang å slette noen visninger eller noe. ble kastet denne feilen på zoom og også på rotere. Hvis jeg sletter objektet før rotasjon og legg det etterpå, det kaster ikke unntaket. Dette er ikke et alternativ for zooming.













