我设计了一个视图,其中包含一个在Interface Builder中模态显示的工具栏。我有一个位于左侧的UIBarButtonItem,我希望它出现在工具栏的右侧。我如何在IB或通过代码执行此操作?如何将UIBarButtonItem放在UIToolbar的右侧?
26
A
回答
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
插入标识符为“灵活空间”的项目。
-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
- 在这样
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];
个
- 两个项目左,右像这样
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];
三防项目这样
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];
个- 四个项目这样
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
}()
输出:
相关问题
- 1. 在右侧显示UIToolbar的UIBarButtonItem,而不是在左侧
- 2. 将留在导航栏右侧的UIBarButtonItem
- 3. 如何使UIBarButtonItem在左侧的UIToolbar上滑动?
- 4. UIToolBar左侧/右侧按钮文本
- 5. 如何将UIButton定位到UIToolbar的最右侧?
- 6. UIBarbuttonItem不在工具栏的右侧?
- 7. 如何添加的UIBarButtonItem在UIToolBar代码
- 8. 将UIBarButtonItem添加到UIToolbar
- 9. 如何将textview放置在布局的左侧和右侧?
- 10. 如何将navbar-brand放在左侧,并在右侧放置navbar-pills li?
- 11. 将UL放在SPAN的右侧
- 12. 将元素放在div的右侧
- 13. 如何确定UIToolbar中UIBarButtonItem的位置?
- 14. 在UIToolbar上切换UIBarButtonItem
- 15. UIToolbar不显示UIBarButtonItem
- 16. UIToolbar内UIBarButtonItem位置
- 17. UIToolbar自定义UIBarButtonItem
- 18. 如何在html右侧放置div
- 19. 如何在右侧放置UITableViewCellEditingStyleInsert?
- 20. 如何使用此代码将TextView放到左侧,并将Radiobutton放到右侧?
- 21. 如何将要粘贴的元素放置在div的右侧?
- 22. CSS/HTML - 无法将DIV放在右侧
- 23. 垂直UIToolBar和它的UIBarButtonItem
- 24. 如何将分类标签放在条形图的右侧?
- 25. 如何将图像放在文本正文的右侧?
- 26. 如何将2个EditTexts放在另一个Android的右侧?
- 27. 如何将标题中的图标放在最右侧?
- 28. 如何将文字放置在图像的右侧?
- 29. 如何将div放置在图像的右侧?
- 30. 如何将数据放在UITableViewCell的右侧
这听起来似乎比我更好的解决方案! – bpapa 2010-03-22 15:58:49
工程就像一个魅力!好的解决方案 – 2010-03-22 16:04:02
当我这样做时,该按钮不会出现在屏幕上。 – 2016-07-12 19:44:06