Είναι δυνατόν να δημιουργήσετε μια προσαρμοσμένη, κινούμενα MKAnnotationView;

ψήφοι
3

Προσπαθώ να προσομοιώσουν την κίνηση τοποθεσία του χρήστη σε MapKit (όπου, από τη θέση του χρήστη αντιπροσωπεύεται από ένα παλλόμενο μπλε κουκίδα). Έχω δημιουργήσει μια προσαρμοσμένη υποκατηγορία των MKAnnotationView και στη μέθοδο drawRect Είμαι προσπαθεί να τον κύκλο μέσα από ένα σύνολο χρωμάτων. Εδώ είναι μια απλούστερη εφαρμογή του τι κάνω:

- (void)drawRect:(CGRect)rect {
float magSquared = event.magnitude * event.magnitude;
CGContextRef context = UIGraphicsGetCurrentContext();
if (idx == -1) {
    r[0] = 1.0; r[1] = 0.5; r[2] = 0;
    b[0] = 0; b[1] = 1.0; b[2] = 0.5;
    g[0] = 0.5; g[1] = 0; g[2] = 1.0;
    idx = 0;
}
// CGContextSetRGBFillColor(context, 1.0, 1.0 - magSquared * 0.015, 0.211, .6);
CGContextSetRGBFillColor(context, r[idx], g[idx], b[idx], 0.75);
CGContextFillEllipseInRect(context, rect);
idx++;
if (idx > 3) idx = 0;
}

Δυστυχώς, αυτό προκαλεί μόνο τα σχόλια να είναι ένα από τα 3 διαφορετικά χρώματα και δεν το κάνει κύκλο μέσα από αυτά. Είναι ένας τρόπος για να αναγκάσει τους MKAnnotations να αναδιατυπώσει συνεχώς, έτσι ώστε να φαίνεται να είναι κινούμενα εκεί;

Δημοσιεύθηκε 21/04/2010 στις 14:47
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
4

Είστε ελεύθεροι να καλέσετε setNeedsDisplayγια προβολή σχολιασμό σας όποτε θέλετε να αναδιατυπώσει. Ο ευκολότερος τρόπος για να γίνει αυτό θα ήταν για την ίδια την προβολή σχολίων για να δημιουργήσει ένα χρονόμετρο που τροφοδοτούνται κάθε 1 / 60th του δευτερολέπτου ή έτσι.

Μια πιο σύνθετη προσέγγιση θα ήταν να βάλει τον κωδικό σχέδιό σας σε ένα προσαρμοσμένο CALayerκαι να εφαρμόσει μια επαναλαμβανόμενη κινούμενη εικόνα πυρήνα Animation σε αυτό. Δείτε την απάντησή μου στο «Εμψύχωση μια προσαρμοσμένη ιδιότητα του CALayer υποκατηγορία» για μια προσέγγιση.

Απαντήθηκε 21/04/2010 στις 15:22
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more