怎样给UINavigationBar加入button?

Mads Mobæk:给UINavigationBar加入button的演示样例代码

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:楼上的回答很好,我想再提一些建议:

假设改动后退button的标题。必须在先前的view controller里改动,而不是在将要显示的地方改动。

就像是说“hey,假设你曾在这个上面放置还有一个view controller。那就把后退button称为back,而不是default(默认)”。

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

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

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

原文地址:https://www.cnblogs.com/claireyuancy/p/6927439.html