Mostra UIBarButtonItem di UIToolbar sul lato destro, invece che sul lato sinistro

Qualcuno può dirmi perché il mio button è sul lato sinistro anziché sul lato destro? Mi piacerebbe a destra. Grazie per l'aiuto che puoi dare!

- (IBAction)getSelection:(id)sender { if(self.pickerShown == NO){ self.slidePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,0, 320, 216)]; self.slidePicker.datePickerMode = UIDatePickerModeTime; self.slidePicker.backgroundColor = [UIColor whiteColor]; [self.view addSubview:self.slidePicker]; //make done button self.toolBar= [[UIToolbar alloc] initWithFrame:CGRectMake(0,0,320,44)]; self.toolBar.barTintColor = [UIColor whiteColor]; self.barButtonDone = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(testButton)]; self.toolBar.items = [[NSArray alloc] initWithObjects:self.barButtonDone,nil]; self.navigationItem.rightBarButtonItem = self.barButtonDone; self.barButtonDone.tintColor=[UIColor blackColor]; self.pickerShown = YES; [self.view addSubview:self.toolBar]; } else { return; } } 

Solutions Collecting From Web of "Mostra UIBarButtonItem di UIToolbar sul lato destro, invece che sul lato sinistro"

Devi aggiungere:

 UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; 

E cambia:

 self.toolBar.items = [[NSArray alloc] initWithObjects: flexSpace, self.barButtonDone,nil]; 

Io cosa che puoi:

 //self.navigationItem.rightBarButtonItem = self.barButtonDone; 

Informazioni :

UIBarButtonSystemItemFlexibleSpace è uno spazio vuoto da aggiungere tra altri elementi. Lo spazio è distribuito equamente tra gli altri elementi. Le altre properties; dell'object vengono ignorate quando viene impostato questo valore.

Documentazione Apple: Riferimento alla class UIBarButtonItem

Inoltre, hai l' Flexible Space Bar Button Item in Xcode Interface Builder :

inserisci la descrizione dell'immagine qui