2012-06-01 17 views
22

enter image description here添加多个UIBarButtonItems到故事板中的UINavigationItem?

很容易添加一个UIBarButton项目,就像您在我的故事板中看到的。但我想添加几个,似乎我不能使用Storyboard?

这是令人讨厌的,因为那时我失去了故事板的完整概览,它是塞格的。

这是这种情况?第一个项目使用故事板,所以我想我可能会错过一些东西。

+2

按钮项,我想你可能需要创建自己的(或子类)UINavigationBar,其中可以指定和绘制多个按钮。 –

+0

@MichaelDautermann iOS5支持在每一侧支持多个UINavigationBar按钮。你不需要继承。但是我不知道你是如何在故事板中管理它们的:( –

+0

@Slee是否找到了解决方案?我现在和你一样。许多本地应用程序都有多个按钮(例如邮件)。把一个工具栏隐藏起来并把它复制到导航栏上的技巧,但这是一个骗术,有没有干净的解决方案? – HpTerm

回答

50

在XCode 4.6(至少)中,您可以将普通视图拖到导航栏上(无论您想要多个按钮的哪一侧),然后拖动顶部的工具栏。完成之后,您可以在工具栏上放置多个酒吧按钮项目,并将它们连接到动作/赛段等,如同正常一样。确保您已将视图和工具栏都设置为默认(透明)背景色。

+1

Dan L.的正确答案。正是我需要的。谢谢! – BigSauce

+10

在视图上选择“剪辑子视图”以摆脱工具栏上方的灰色线条。 –

+0

在Xcode 5中仍然非常有用。谢谢! –

-1

试试这个

-(void)viewDidLoad 
{ 

    [super viewDidLoad]; 

    UIBarButtonItem *editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editAction)]; 

    UIBarButtonItem *saveBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveAction)]; 

    self.navigationItem.rightBarButtonItems = [[NSArray alloc] initWithObjects:editBarButtonItem, saveBarButtonItem, nil]; 
} 

我们还需要实现方法editAction和saveAction。

-(void)editAction 
{ 

    NSLog(@"edit button clicked"); 
} 

-(void)saveAction 
{ 

    NSLog(@"save button clicked"); 
} 
3

在Xcode 7中,您最终可以直接将多个UIBarButtonItems直接拖到Interface Builder中的UINavigationItem中。

见WWDC 2015年届407视频标题是:如果你想比 “左” 和 “右” 的酒吧更

实现UI设计在Interface Builder

https://developer.apple.com/videos/wwdc/2015/?id=407

相关问题