Παίρνω αρκετά απογοητευμένοι με τους περιορισμούς της MKMapKit. τρέχον πρόβλημα μου έχει να κάνει με το z-παραγγελία απόψεων σχολιασμού, ιδίως όσον αφορά πινελιές. Εάν αποδεχτείτε την προεπιλεγμένη z-order το mapkit σας δίνει:
- Η σειρά εμφανίζεται τυχαία. Η ζ-παραγγελίας είναι άσχετη με τη σειρά προστέθηκαν τα σχολιασμούς.
- Αν κάποιος σχολιασμός καταλήγει πάνω από ένα άλλο, αγγίζοντας την κορυφή σχολιασμό γενικά εμφανίζει το μήνυμα προώθησης για το κάτω μέρος σχολιασμό. Φαίνεται σαν η ανίχνευση χτύπημα ούτε καν σέβεται τη σειρά κλήρωσης. Τι συμβαίνει με αυτό?
Έχω δοκιμάσει την επίλυση # 1 χρησιμοποιώντας κάτι παρόμοιο με το ακόλουθο κώδικα που βρέθηκαν στο διαδίκτυο (το οποίο σχεδιάστηκε για να δώσει κάποιο έλεγχο z-order)
- (void) MapView: (MKMapView *) MapView didAddAnnotationViews: (NSArray *) προβολές {
για (MKAnnotationView * annView σε προβολές) {
TopBottomAnnotation * ann = (TopBottomAnnotation *) [annView σχολιασμό]?
εάν ([Αηη top]) {
[[AnnView superview] bringSubviewToFront: annView]?
} Αλλού {
[[AnnView superview] sendSubviewToBack: annView]?
}
}
}
Διέλευση από τις προβολές σχολιασμού πέρασε MapView: didAddAnnotationViews: και προσαρμογή z-σειρά τους φαίνεται να διορθώσετε # 1. Το πρόβλημα είναι ότι τώρα οι απόψεις επεξήγηση δεν είναι πλέον πάντα στην κορυφή με τις απόψεις σχολιασμό. Η MapKit φαίνεται να πάρετε πολύ σύγχυση σχετικά με τα στρώματα (πρέπει να γίνει επεξηγήσεις σε ένα στρώμα πάνω από όλες τις προβολές σχολιασμού). Έχω ακόμα να καταλάβω πώς να πάρει σύγχυση αφού όλοι οι MKAnnotationViews λάβετε την ίδια superview (ιδιωτική τάξη MKOverlayView). Θα πίστευε κανείς ότι κάθε λογικός σχεδιασμός θα αντλήσει τα μηνύματα σχετικά με αυτήν την άποψη επικάλυψης.
Έχει κανείς λυθεί # 1 ή # 2 με επιτυχία;













