在右侧显示UIToolbar的UIBarButtonItem,而不是在左侧
问题描述:
有人能告诉我为什么我的按钮位于左侧而不是右侧?我想在右边。谢谢你提供的所有帮助!在右侧显示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;
}
}
答
您需要添加:
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中:
+1
非常感谢Gaberiel。我很欣赏你花时间向我解释这一点。你摇滚! – Srmuhs
+0
很高兴给我。 –
我希望帮助。 –