我想知道是否可以使用 Storyboard IB :
来实现 self.navigationItem.leftBarButtonItems = @[barButton1, barButton2]
编辑:
目的是保留使用故事板的好处,如果可能而不使用任何代码行。
编辑#2:
基于this answer我进行了实验,发现可以将导航项的标题视图属性链接到工具栏
但它看起来像 hack (我可能也希望保留标题):
有更好的主意吗?
答案 0 :(得分:7)
有一种方法可以为navigationItem添加一个视图。 然后添加视图所需的按钮或标签。
答案 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中,您可以直接在左侧或右侧的导航栏中放置多个项目
答案 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)
}