2009-06-04 9 views
10

Conosci il pulsante della posizione nell'angolo in basso a sinistra dell'applicazione Maps? Qualcuno sa dove posso trovarlo? Ho cercato in UIButtonType e UITabBarSystemItem ma sono venuto in bianco.Pulsante posizione iPhone

Preferirei utilizzare un'immagine di sistema o un sistema qualcosa in più, per garantire la coerenza con le altre funzioni di sistema.

+0

Barra degli strumenti o barra delle schede? Quello in Maps.app è una barra degli strumenti. – kennytm

risposta

0

Non sarei così sicuro che sia un'immagine di sistema. Molte immagini/pulsanti nelle applicazioni Apple sono specifiche solo per quell'applicazione e questa sembra essere in questo modo.

1

Ho creato la mia immagine e Apple l'ha accettata (a differenza dell'utilizzo dell'immagine di ricerca a scopo di zoom).

2

(Attenzione: funzionalità non documentata, saranno respinte da AppStore, bla bla bla)

Il pulsante di posizione si può accedere con

UIBarButtonItem* item = [[UIBarButtonItem alloc] 
         initWithBarButtonSystemItem:100 
               target:... action:...]; 

Se si desidera solo l'immagine, salvare il risultato restituito da

UIImage* img = [UIImage kitImageNamed:@"UIButtonBarLocate.png"]; 
0
UIImage* img = [UIImage kitImageNamed:@"UIButtonBarLocate.png"]; 
// Get the location of the Documents directory 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) ; 
NSString *imagePath = [paths objectAtIndex:0] ; 
NSString *filename = @"test.png" ; 
NSString *filepath = [NSString stringWithFormat:@"%@/%@", imagePath, filename] ; 

// Save the image 
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(img)]; 
[imageData writeToFile:filepath atomically:YES]; 

uso questo esempio di codice per salvarlo come file che potrai usare nel tuo progetto!

Spero che questo aiuto.

3

Si noti che in 4.0, l'aspetto del pulsante "locate me" nel pulsante Maps.app è stato modificato. Più avanti, +[UIimage kitImageNamed:] è andato, e chiamando -[UIBarbuttonItem initWithBarButtonSystemItem:] con l'identificatore non documentato 100 restituirà la grafica vecchio stile.

7

Dai un'occhiata alla https://github.com/myell0w/MTLocation

Idle Mode Searching Mode Receiving Location Updates Mode Receiving Heading Updates Mode

ho mimiced Google Maps' Locate me - Button, tra cui 4 stati diversi e l'animazione che si fa quando si passa tra gli stati.

+1

È ora su https://github.com/myell0w/MTLocation –

7

Puoi provare a utilizzare MKUserTrackingBarButtonItem Fornisce la stessa funzionalità del pulsante di traccia nell'app Mappa. Ecco lo stesso codice.

MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.mapView]; 
NSMutableArray *items = [[NSMutableArray alloc] initWithArray:self.bottomToolbar.items]; 
[items insertObject:trackButton atIndex:0]; 
[self.bottomToolbar setItems:items];