您的位置:首页 > 移动开发 > IOS开发

iOS 修改导航栏的返回按钮的内容

2015-12-10 10:16 501 查看
如何修改导航栏的返回按钮内容,开始我也费了好久的时间最后打算自定义一个算了,结果方法还是被我找到了。

导航的返回按钮的加载原理是这样的:

1、如果B视图有一个自定义的左侧按钮(leftBarButtonItem),则会显示这个自定义按钮; 

2、如果B没有自定义按钮,但是A视图的backBarButtonItem属性有自定义项,则显示这个自定义项; 

3、如果前2条都没有,则默认显示一个后退按钮,后退按钮的标题是A视图的标题。 

按照这个解释,我把UIBarButtonItem *backItem……这段代码放在A视图的pushViewController语句之前。

实现过程是这样的

A视图的代码:
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger row = [indexPath row];

UIBarButtonItem *returnButtonItem = [[UIBarButtonItem alloc] init];
returnButtonItem.title = @"返回";
self.navigationItem.backBarButtonItem = returnButtonItem;

if(row == 2)
{
personViewController *person = [[personViewController alloc] initWithNibName:@"personViewController" bundle:nil];
[self.navigationController pushViewController:person animated:YES];
}

if(row == 3)
{
teleplayViewController *teleplay = [[teleplayViewController alloc] initWithNibName:@"teleplayViewController" bundle:nil];
[self.navigationController pushViewController:teleplay animated:YES];
}
}

注意这段代码:
UIBarButtonItem *returnButtonItem = [[UIBarButtonItem alloc] init];
returnButtonItem.title = @"返回";
self.navigationItem.backBarButtonItem = returnButtonItem;

B视图我是什么也没有做的。结果就达到你想要的效果了。

查资料的时候有一种新的方法,没有试过,先帖在这里了:
self.navigationController.navigationBar.topItem.title=self.message;
self.navigationController.navigationBar.tintColor=[UIColorblackColor];
UIBarButtonItem*backButton = [[UIBarButtonItemalloc] initWithTitle:@" fan hui "style:UIBarButtonItemStyleBorderedtarget:selfaction:@selector(PopViewController)];
self.navigationItem.leftBarButtonItem= backButton;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: