我設計了一個視圖,其中包含一個在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