plusieurs appels regionDidChangeAnimated - ce qui donne?

voix
0

J'ai un MKMapView dans un UITableView comme une cellule personnalisée (ne demandez pas;) - ne sais pas si cela est vraiment important), pour lequel j'enregistrer une méthode déléguée regionDidChangeAnimated. Cette méthode est appelée trois fois lorsque le UITableView est chargé - une fois avec la région réelle, puis deux fois avec une région qui est loin. Dans le simulateur, je reçois toujours une région avec le centre (37,43997405, -97,03125000). Sur l'appareil, il semble dépendre de l'emplacement indiqué par le gestionnaire de l'emplacement, initialisant la vue de la carte.

Pourquoi est-ce que je reçois trois appels regionDidChangeAnimated? Et pourquoi sont les coordonnées du centre pour les deux derniers d'entre eux au large?

Voici le code que j'utilise pour obtenir les coordonnées du centre:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
    CLLocation *l = [[CLLocation alloc] initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude];
(....)
Créé 15/01/2010 à 20:17
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Je l'ai mis en place une vue sur la carte dans une cellule de vue de la table personnalisée et a ajouté que la cellule à une vue de table (bien qu'il devrait certainement pas d'importance où / comment l'affichage de la carte est affichée).

Je ne vois pas d'appels inattendus à la regionDidChangeAnimated:méthode déléguée.

Je vois appels à cette méthode que lorsque:

  1. L'utilisateur modifie la position / zoom de la carte, OU
  2. Certains code change du centre / span de la carte

Etes-vous sûr que vous voyez des appels inattendus? Vous n'utilisez pas le code pour configurer la région (centre / span) de la carte?

Créé 15/01/2010 à 21:21
source utilisateur

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