在故事板中向导航栏添加多个按钮

时间:2014-03-20 10:35:11

标签: ios storyboard

我想知道是否可以使用 Storyboard IB

来实现

self.navigationItem.leftBarButtonItems = @[barButton1, barButton2]

编辑:

目的是保留使用故事板的好处,如果可能而不使用任何代码行

编辑#2:

基于this answer我进行了实验,发现可以将导航项的标题视图属性链接到工具栏 enter image description here

但它看起来像 hack (我可能也希望保留标题):

enter image description here

有更好的主意吗?

7 个答案:

答案 0 :(得分:7)

有一种方法可以为navigationItem添加一个视图。 然后添加视图所需的按钮或标签。

enter image description here

enter image description here

答案 1 :(得分:2)

可以使用以下代码:

UIBarButtonItem *btnShare = [[UIBarButtonItem alloc] initWithCustomView:self.backbtn];
UIBarButtonItem *btnRefresh = [[UIBarButtonItem alloc] initWithCustomView:self.testbutton2];   
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:btnShare,btnRefresh, nil]];

答案 2 :(得分:1)

1 - >在导航栏中拖放栏按钮项目,在最新的xcode中,您可以直接在左侧或右侧的导航栏中放置多个项目

see this for example

答案 3 :(得分:0)

您可以创建一个包含所有按钮的UIToolbar

UIToolbar *toolbar = [[UIToolbar alloc] init];
// ... set toolbars' frame, initialize buttons, etc;
[toolbar setItems:@[barButton1, barButton2] animated:NO];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar];

或者您可以使用setLeftBarButtonItems:animated:setRightBarButtonItems:animated:

希望有所帮助,祝你好运!

答案 4 :(得分:0)

您可以在故事板中创建按钮,根据需要编辑/设置它们,然后创建它们的出口并将它们添加为顶级对象,然后使用[navigationItem setLeftBarButtonItems:]和[navigationItem setRightBarButtonItems:..在viewDidLoad中在运行时添加它们。希望有助于:)

答案 5 :(得分:0)

我建议你在工具栏上添加多个按钮。在导航栏上添加多个按钮不是一个好主意。如果你想使用故事板在工具栏上添加多个按钮。此视频链接可能会帮助您创建一个带有多个按钮的可滚动工具栏 https://www.youtube.com/watch?v=4nYM8EfTpRw

答案 6 :(得分:0)

如果您想从代码中添加在Swift 中,您可以这样做:

override func viewDidLoad() {
    // ....
    let ubRefresh = UIBarButtonItem.init(barButtonSystemItem: .Refresh, target: self, action: "refreshManually")
    let ubMyIcon = UIBarButtonItem(image: UIImage(named: "MyIcon"), style: .Plain, target: self, action: "myAction")
    self.navigationItem.setRightBarButtonItems([ubMyIcon, ubRefresh], animated: true)

}