自定义导航控制器的后退按钮

Posted

技术标签:

【中文标题】自定义导航控制器的后退按钮【英文标题】:Customize the back button of a navigation controller 【发布时间】:2010-07-15 05:06:06 【问题描述】:

我想在导航栏的左侧有两个按钮,一个是常规的后退按钮,另一个是 UIBarButtonItem。但是我只能用它来替换默认的后退按钮。我在互联网上尝试了许多代码示例,但无法正常工作。请帮忙

【问题讨论】:

【参考方案1】:

不要这样做。它违反了 Apple 提出的 UI 指南。 See the paragraph right before figure 6-6 of the iPhone HIG.

【讨论】:

它适用于 ipad 应用程序。如果不建议这样做,那是什么?谢谢【参考方案2】:

据我所知,(目前)不可能在 UINavigationBar 的两侧有两个 UIBarButtonItems

【讨论】:

【参考方案3】:

为此,您必须将 UIToolBar 用于导航控制器上的多个按钮

【讨论】:

【参考方案4】:

是的,你可以这样做-

UIButton *backBtn = [UIButton buttonWithType:UIButtonTypeCustom];  
UIImage *homeImage = [UIImage imageNamed:@"YOUR_IMAGE.png"];  
[backBtn setBackgroundImage:homeImage forState:UIControlStateNormal];  
[backBtn addTarget:self action:@selector(YOUR_ACTION)  
forControlEvents:UIControlEventTouchUpInside];  
backBtn.frame = CGRectMake(0, 0, 69, 26);  
UIBarButtonItem *button1 = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
[[self navigationItem] setLeftBarButtonItem:button1];
[button1 release];
button1 = nil;

【讨论】:

以上是关于自定义导航控制器的后退按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义后退按钮后导航标题消失

Ios 导航 - 自定义后退按钮或从堆栈中删除视图控制器?

如何使用Android中的导航控制器制作自定义后退按钮以返回某个目的地?

在导航控制器中放置后退按钮

设置 uinavigationitem 的后退按钮不起作用

在导航控制器中设置后退按钮的操作