回答

57

这里是如何做到这一点的代码,如果有人遇到这个帖子:

UIBarButtonItem *leftButton = [[[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered target:self action:@selector(btnItem1Pressed:)] autorelease]; 

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

UIBarButtonItem *rightButton = [[[UIBarButtonItem alloc] initWithTitle:@"Item" style:UIBarButtonItemStyleBordered target:self action:@selector(btnItem2Pressed:)] autorelease]; 


self.toolbarItems = [NSArray arrayWithObjects: leftButton, flex, rightButton, nil]; 
29

插入标识符为“灵活空间”的项目。

+0

这听起来似乎比我更好的解决方案! – bpapa 2010-03-22 15:58:49

+0

工程就像一个魅力!好的解决方案 – 2010-03-22 16:04:02

+0

当我这样做时,该按钮不会出现在屏幕上。 – 2016-07-12 19:44:06

-1

如果你能逃脱这不是一个的UIBarButtonItem(例如,信息按钮),我做的是改变按钮的层总是在工具栏的前面。这样,当我在IB中的工具栏上拖动按钮时,它不会自动将它吸入到左侧。

8

Swift代码:

func addDoneButton() -> UIToolbar { 
    let toolbar = UIToolbar() 
    let flexButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil) 
    let doneButton = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: Selector("donePressed")) 
    toolbar.setItems([flexButton, doneButton], animated: true) 
    toolbar.sizeToFit() 
    return toolbar 
} 
27

- 在这样

enter image description here正确的项目

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

UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil]; 

self.toolbarItems = [NSArray arrayWithObjects: flexible, item1, nil]; 

- 两个项目左,右像这样

enter image description here

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

UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil]; 

self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, nil]; 

三防项目这样

enter image description here

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

UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"item3” style:UIBarButtonItemStylePlain target:self action:nil]; 

self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, flexible, item3, nil]; 

- 四个项目这样

enter image description here

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

UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithTitle:@"item1” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item2 = [[UIBarButtonItem alloc] initWithTitle:@"item2” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item3 = [[UIBarButtonItem alloc] initWithTitle:@"item3” style:UIBarButtonItemStylePlain target:self action:nil]; 
UIBarButtonItem *item4 = [[UIBarButtonItem alloc] initWithTitle:@"item4” style:UIBarButtonItemStylePlain target:self action:nil]; 

self.toolbarItems = [NSArray arrayWithObjects: item1, flexible, item2, item3, flexible, item4, nil]; 

所以,当你想添加一个空格,你必须添加柔性杆按钮。

0

斯威夫特3.x或以上:

internal var textFieldHandlerToolBar: UIToolbar = { 
     let tb = UIToolbar.init(frame: CGRect.init(origin: .zero, size: CGSize.init(width: UIScreen.screenSize().width, height: 44.0))) 
     let flexibleButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, target: nil, action: nil) 
     let doneBarButton = UIBarButtonItem.init(title: "Done", style: UIBarButtonItemStyle.done, target: self, action: #selector(actionDonePickerSelection)) 
     tb.setItems([flexibleButton, doneBarButton], animated: false) 
     return tb 
    }() 

输出:

enter image description here

相关问题