Έχω ένα γράφημα στο στάδιο της επεξεργασίας μέσα σε ένα UIScrollView. Είναι ένα μεγάλο UIViewχρησιμοποιώντας μια προσαρμοσμένη υποκατηγορία της CATiledLayerως στρώμα του.
Όταν κάνετε ζουμ μέσα και έξω από το UIScrollView, θέλω το γράφημα για να αλλάξετε το μέγεθος δυναμικά, όπως το κάνει όταν επιστρέψει το γράφημα από το viewForZoomingInScrollView. Ωστόσο, η Γράφημα ίδια επανασχεδιάζει σε νέο επίπεδο ζουμ, και θέλω να επαναφέρετε την κλίμακα μετατρέψει σε 1x1, έτσι ώστε την επόμενη φορά που ο χρήστης μεγεθύνει, η ξεκινά μετατραπεί από την τρέχουσα προβολή. Αν μπορώ να επαναφέρω το μετατρέψει σε ταυτότητας σε scrollViewDidEndZooming, λειτουργεί στον προσομοιωτή, αλλά ρίχνει ένα EXC_BAD_ACCSESστη συσκευή.
Αυτό δεν ακόμη και να λύσει το πρόβλημα εξ ολοκλήρου από τον προσομοιωτή, είτε, γιατί την επόμενη φορά που ο χρήστης μεγεθύνει, το μετασχηματισμό επαναφέρει το ίδιο σε ό, τι επίπεδο μεγέθυνσης ήταν σε, και έτσι μοιάζει, αν ήμουν μεγεθυνθεί και 2 φορές, για παράδειγμα, είναι ξαφνικά σε 4x. Όταν τελειώσει το ζουμ, καταλήγει στη σωστή κλίμακα, αλλά η πραγματική πράξη του ζουμ φαίνεται κακό.
Έτσι, η πρώτη: πώς μπορώ να επιτρέψω το γράφημα στο ίδιο αναδιατυπώσει στην τυπική κλίμακα 1x1 μετά από ζουμ, και πώς μπορώ να έχουν μια ομαλή ζουμ σε όλη;
Επεξεργασία: Νέα ευρήματα Το σφάλμα φαίνεται να είναι « [CALayer retainCount]: message sent to deallocated instance»
Είμαι ποτέ αποδεσμεύοντας όλα τα στρώματα εαυτό μου. Πριν, δεν ήμουν καν τη διαγραφή τυχόν απόψεις ή οτιδήποτε άλλο. Αυτό το σφάλμα που ρίχνονται σε zoom και επίσης σε περιστροφή. Αν μπορώ να διαγράψω το αντικείμενο πριν την περιστροφή και προσθέστε ξανά αργότερα, δεν ρίξει την εξαίρεση. Αυτό δεν είναι μια επιλογή για ζουμ.













