设置返回按钮的标题

它一般是由一个左箭头加上一级ViewController的标题构成。如果我们想将这个标题文字修改成其它内容,甚至是设置为空,则需要额外想办法。 
最省事的办法是将上一级ViewController的title修改为空或其它。但这会带来一个问题,即上一级ViewController的标题也会被修改,如果这个ViewController是位于TabBarController中,则TabBarItem的标题也会被修改。

还有一种办法是在viewDidAppear方法中使用例如这样的语句: 
self.navigationController?.navigationBar.backItem?.title=”“

但这句代码只有在viewDidAppear方法中才好使。如果是放在viewDidLoad或者viewWillAppear中的话就不行了。 
此外,用在viewDidAppear中的话,返回按钮的标题会有短暂的时间才会被修改,也就是说原来的标题文本在很短的时间内(零点几秒)仍然会显示。

此外就只有定制导航栏的左按钮了,用一张箭头图片作为按钮的背景图。这样做费时费力不说,效果也和系统提供的返回按钮不太一致。具体有两点: 
一、左按钮的位置要比返回按钮的位置稍微靠后一点(仔细看才能区分这一点,大概有20个像素的差别)。 
二、左按钮不提供默认的popViewController行为,需要我们自己编写按钮的事件代码。

这里介绍一种两全其美的方法,一不需要自定义左按钮,二完全使用系统默认的返回按钮,仅仅是按钮的标题被修改了。 
代码如下:

let viewControllerArray = self.navigationController!.viewControllers 
let previousViewControllerIndex = (viewControllerArray as NSArray).indexOfObject(self)-1

if (previousViewControllerIndex >= 0) { 
if let previous = viewControllerArray[previousViewControllerIndex] as? UIViewController{ 
previous.navigationItem.backBarButtonItem = UIBarButtonItem(title: “”, style: UIBarButtonItemStyle.Plain, target: self, action: nil) 

}

时间: 2024-08-03 16:16:50

设置返回按钮的标题的相关文章

[iOS]统一设置返回按钮为自定义图片的方法

我们可以通过基类设置BackButton的样式,也可以设置LeftButton然后隐藏BackButton,但是那样的话手势返回就没了. 现在找到的方案是:设置返回按钮的背景图片为自定义的图片,为了解决会显示Back字样的问题,设置Title偏移到屏幕不可见的位置即可. 完整代码如下: UIImage *backImage = [UIImage imageNamed:@"backNor"]; [[UIBarButtonItem appearance] setBackButtonBack

IOS navigationItem 设置返回按钮,title图片和rightBarButtonItem

1.自定义返回按钮 UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleBordered target:nil action:nil]; [self.moreItem setBackgroundImage:[UIImage new] forState:UIControlStateNormal barMetrics:UIBarMetricsDe

有关怎么在不创建新的按钮的前提下改变返回按钮的标题

只需要在创建第二个控制器之前添加这么一段代码: UIBarButtonItem *backItem = [[UIBarButtonItem alloc] init]; backItem.title = @"返回"; self.navigationItem.backBarButtonItem = backItem; 那么在跳转的时候,返回按钮显示的就不是第一个界面的标题.而是“返回”

IOS 自定义导航栏标题和返回按钮标题

IOS中自定义导航栏标题: UILabel *titleText = [[UILabel alloc] initWithFrame: CGRectMake(160, 0, 120, 50)]; titleText.backgroundColor = [UIColor clearColor]; titleText.textColor=[UIColor whiteColor]; [titleText setFont:[UIFont systemFontOfSize:17.0]]; [titleTex

如何设置自定义导航控制器全局返回按钮 --- ios

怎么样可以一次性把导航控制器中的返回键全都自定义. 思路: 我们可以在push的时候来设置这个自定义按钮,push有一个方法 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{} 在这个方法中viewController是push的对象 但是要判断这个viewController是不是根控制器 - (void)pushViewController:(UIViewControl

iOS7+自定义返回按钮

本来我是用创建UIButton赋值给self.navigationItem.leftBarButtonItem的方式设置返回按钮的,用了觉得挺正常,结果看了@蛙牛的文章<Java转iOS-第一个项目总结(2)>后,发现一个重大问题:手势返回功能没了,原因就是用设置leftBarButtonItem的方式来自定义返回按钮会导致手势返回功能失效. 如果不自定义返回按钮,又因为我使用的是RDVTabBarController,需要在返回方法里手动设置hide tabbar属性,这样我就需要拦截返回手

iOS 自定义返回按钮,保留系统滑动返回

原文链接 自定义返回按钮保留系统滑动返回手势.gif 1.简介 使用苹果手机,最喜欢的就是用它的滑动返回.作为一个开发者,我们在编写很多页面的时候,总是会因为这样那样的原因使得系统的滑动返回不可用.使用导航栏push出一个控制器,我们在控制器中自定义了一个返回按钮.这样系统默认的滑动返回手势效果就没有了. 2.解决方法 [1]从A这个控制器push到B这个控制器,我们想要自定义B的返回按钮,我们可以在A中设置 self.navigationItem.backBarButtonItem = [[U

iOS_自定义返回按钮

//在-(void)viewWillAppear:(BOOL)animated方法中添加返回按钮 //返回按钮 UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; leftButton.frame=CGRectMake(0, 0, 60, 25); [leftButton setImage:[UIImage imageNamed:@"back_img"] forState:UIControlState

iOS-设置导航栏&quot;返回&quot;按钮 (附效果图)

一般每个二级页面都涉及返回按钮,每一个页面设置的话确实挺麻烦,下面的方法,是放到任何一个VC里面,都可以做到任何二级页面直接做到返回按钮的效果 可直接复制到工程 代码如下: //设置返回按钮 -(void)viewWillAppear:(BOOL)animated { [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsD