2014-04-01 190 views
3

有人能告訴我爲什麼我的按鈕位於左側而不是右側?我想在右邊。謝謝你提供的所有幫助!在右側顯示UIToolbar的UIBarButtonItem,而不是在左側

- (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; 
    } 
} 
+0

我希望幫助。 –

回答

2

您需要添加:

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

而變化:

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

我的事情,你可以:

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

信息

UIBarButtonSystemItemFlexibleSpace空白處其他項目之間添加。空間在其他項目之間平均分配。設置此值時,其他項目屬性將被忽略。

蘋果文檔:UIBarButtonItem Class Reference

而且,你有Flexible Space Bar Button Item的Xcode Interface Builder中

enter image description here

+1

非常感謝Gaberiel。我很欣賞你花時間向我解釋這一點。你搖滾! – Srmuhs

+0

很高興給我。 –

相關問題