J'ai un UITableView (sur une pile de contrôleur de navigation) qui montre les détails d'un objet de modèle personnalisé. L'objet possède une propriété tableau pour contenir des objets enfants ayant chacun une propriété de latitude et de longitude. Comme je charge tout à partir d'une API de service Web, le tableau d'objets enfants n'est pas rempli jusqu'à ce que l'utilisateur appuie sur une cellule dans la vue détaillée pour voir les objets sur une carte. À ce stade, je crée d'abord et j'appuie sur une «vue de chargement» intermédiaire qui fait l'appel api, remplit le tableau puis crée et pousse la vue de la carte.Problème avec MKMapView et le contrôleur de navigation
Le problème est une fois que la vue basée sur la carte est poussée sur le contrôleur de navigation que MKMapView ne montre pas. Le titre de la barre de navigation et le bouton de retour changent correctement, mais je peux toujours voir la vue de chargement précédente entre la barre d'onglet des applications et la barre de navigation! Si le tableau a été précédemment rempli, je pousse la vue basée sur la carte directement après la vue détaillée et cela fonctionne correctement. J'utilise également ce contrôleur de vue de carte à travers mon projet sans problèmes précédents.
Je ne peux pas pour la vie de moi obtenir ce qui se passe ici. Si je change le contrôleur de vue de «chargement» pour présenter la carte-vue modalement alors cela fonctionne également bien. La nib des contrôleurs de vue de carte était utilisée par deux classes de contrôleurs personnalisées et j'ai tout d'abord pensé que c'était le problème - mais le propriétaire des fichiers dans IB est maintenant réglé sur le bon contrôleur.
est ici le code de la vue de chargement qui pousse la vue de la carte:
ObjectMapViewController *objectMapVC = [[ObjectMapViewController alloc]
initWithNibName:@"ObjectLocationView" bundle:nil];
objectMapVC.objectsToMap = self.object.childObjects;
[self.navigationController pushViewController:objectMapVC animated:YES];
[objectMapVC release];
Toute aide grandement appréciée!