2014-04-01 133 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

很高兴给我。 –

相关问题