如何给UINavigationBar添加按钮?

来源:互联网 发布:网络主播评选 编辑:程序博客网 时间:2024/05/12 16:15

Mads Mobæk:给UINavigationBar添加按钮的示例代码

1
2
3
4
5
6
7
8
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
    style:UIBarButtonItemStyleDone target:nil action:nil];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[bar pushNavigationItem:item animated:NO];
[rightButton release];
[item release];

但是通常你得有一个Navigation Controller,使你能够写如下代码:

1
2
3
4
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
    style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
[rightButton release];

Amagrammer:楼上的回答非常好,我想再提一些建议:

如果修改后退按钮的标题,必须在先前的view controller里修改,而不是在将要显示的地方修改。就像是说“hey,如果你曾在这个上面放置另一个view controller,那就把后退按钮称为back,而不是default(默认)”。

如果你想在某个特殊状态下隐藏后退按钮,比如显示UIPickerView时,使用self.navigationItem.hidesBackButton = YES;当你退出这一状态时,记得设置回原样。

如果你想显示某个特殊的象征性按钮,使用带有UIBarButtonSystemItemAdd这类控件的initWithBarButtonSystemItem:target:action方法。

记住,符号的意义是由你决定的,但是要小心人机界面交互指南。使用UIBarButtonSystemItemAdd意味着删除一个项目将可能导致你的应用被拒。

0 0