IOS让返回按钮显示自定义标题而不是上个ViewController的title

在开发IOS的时候发现当从一个ViewController跳转到另一个ViewController时,被跳转到的那个ViewController的返回按钮总是显示的是上个ViewController的title。如果上个ViewController的title内容比较多的话会显得界面比较乱,所以我想要实现的是返回按钮只显示“Back”。

开发环境:

IOS:10

Xcode:8

返回按钮的显示逻辑

想要知道怎么实现自己想要的功能首先要掌握相关的理论知识,下面举个例子说明。

假如从ViewController:A跳转到了B,那么B的返回按钮的显示遵循下面原则:
1. 如果A定义了BackBarButtonItem,那么B会显示A定义的BackBarButtonItem;
2. 如果B定义了LeftBarButtonItem,那么B会显示自己的LeftBarButtonItem;
3. 如果A未定义BackBarButtonItem,B也未定义LeftBarButtonItem,那么B会显示系统默认的返回按钮。

实现返回按钮只显示“Back”

从上一节的理论可以看出我们只要实现原则”1“就可以到达我想要的即在A中定义BackBarButtonItem:

在A的ViewDidLoad方法中加入下面语句

self.navigationController?.navigationBar.topItem?.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil);
时间: 2024-10-28 12:38:13

IOS让返回按钮显示自定义标题而不是上个ViewController的title的相关文章

iOS彩票项目--第五天,新特性引导页的封装、返回按钮的自定义、导航控制器的滑动返回以及自定义滑动返回功能

一.上次实现了在AppDelegate中通过判断app版本决定是否进入新特性页面,今天将AppDelegate中的一坨进行了封装.将self.window的根控制器到底应该为新特性界面,还是主页面,封装到了导航工具类ChaosGuideTool 封装,先决定外面怎么用,然后实现方法.外部通过类方法调用  + (UIViewController *)chooseRootVC; 外部的APPDelegate 只是调用方法 之前的业务判断没有改变,只是将数据的存储进行了封装 二.返回按钮的自定义 <1

iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图

iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图: <!-- Safari浏览器[添加到书签] --> <link rel="shortcut icon" href="static/my/img/favicon.ico"> <!-- Safari浏览器[添加到主屏幕] --> <link rel="apple-touch-icon" href="stat

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

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

XtraScheduler 日程控件显示自定义标题

下面代码实现一个自定义日程标题 public class CustomHeaderCaptionService : HeaderCaptionServiceWrapper { public CustomHeaderCaptionService(IHeaderCaptionService service) : base(service) { } public override string GetDayColumnHeaderCaption(DayHeader header) { DateTime

ios开发之自定义默认生成的导航栏 标题 颜色 返回按钮

一 修改导航栏颜色    导航栏在哪个页面代码放在那里面 self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:(21.0/255.0) green:(153.0 / 255.0) blue:(224.0 / 255.0) alpha:1];                                                   //定义导航栏颜色 self.navigationItem.t

设置返回按钮的标题

它一般是由一个左箭头加上一级ViewController的标题构成.如果我们想将这个标题文字修改成其它内容,甚至是设置为空,则需要额外想办法. 最省事的办法是将上一级ViewController的title修改为空或其它.但这会带来一个问题,即上一级ViewController的标题也会被修改,如果这个ViewController是位于TabBarController中,则TabBarItem的标题也会被修改. 还有一种办法是在viewDidAppear方法中使用例如这样的语句: self.na

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

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

浏览器返回按钮不会触发onLoad事件

最近在做一个移动端项目,发现移动端某些返回和PC端是有差异的, 比如ios中返回按钮是直接使用缓存的, 不会执行任何js代码, 这个问题很蛋疼, 例如, 在提交的时候将按钮设置为loading状态, 如果在提交成功后没有对安装进行处理, 那么返回后按钮依然是loading状态, 这种体验很差, 如下图: 此问题是由于某些浏览器在back的时候是直接使用的之前的视图,页面没有进行重新加载而导致的,在网上找了些资料, 发现这是H5的一些新特性Back-Forward Cache(简称bfcache)

自定义iOS导航栏背景,标题和返回按钮文字颜色-----转载自gyz413977349

在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Color 方法一: [objc] view plaincopy //set NavigationBar 背景颜色&title 颜色 [self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:20/255.