rotirea MKMapView

Am o aplicație de lucru cu un MKMapView care arată locația utilizatorului. Până acum, bine:

- (void)viewDidLoad {
   ...
   [myMapView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
   [myMapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
}

Acum, permit rotațiile interfeței:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
   //Return YES for supported orientations.
    return YES;
}

Dacă acum pornesc dispozitivul și se centrează în locația utilizatorului

   [myMapView setCenterCoordinate:[myMapView userLocation].coordinate animated:YES];

MapView se va roti după cum era de așteptat, dar locația utilizatorului nu va fi centrată, ci în partea de jos a ecranului (distanța de sus rămâne aceeași ca în modul portret).

Mă aștept să fie centrat, deși ...

Vreo idee?

0

1 răspunsuri

Încercați să includeți înălțimea în setAutoresizingMask: astfel încât înălțimea ecranului de hartă să se modifice automat atunci când supravegherea își schimbă înălțimea în rotație. În acest moment, numai lățimea este redimensionată, deci poziția y a centrului hărții nu se schimbă.

Deci, această linie:

[myMapView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

ar trebui să fie:

[myMapView setAutoresizingMask: 
    (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];


Additionally, you shouldn't need to manually center the map on the user location if you are setting the tracking mode to MKUserTrackingModeFollow (the map will do it automatically). You may have tried manually centering it to fix the height issue but fixing the autoresizing mask should eliminate the need for the explicit centering.

0
adăugat
Ok Multumesc - ar fi trebuit sa citim numele pavilionului pina la sfarsitul lui :) Si in ceea ce priveste centrifugarea: de fapt, am centru pentru diferite puncte, nu numai locatia utilizatorului in functie de intrarea utilizatorului. Dar mulțumesc că ați arătat acest lucru ...
adăugat autor Axel, sursa
iOS dezvoltatori, România — Moldova
iOS dezvoltatori, România — Moldova
21 participanți

Parteneri: ciupacabra.com, @php_ro, @js_ro, @node_ro, @seo_ro Android: @ro_android