首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS、Swift 4、导航控制器标题颜色在通过单击后退按钮返回时不会更改

问题描述:在iOS中使用Swift 4开发应用程序时,导航控制器的标题颜色在通过单击后退按钮返回时不会更改。

回答:

在iOS中,导航控制器是一种用于管理应用程序中多个视图控制器的容器控制器。导航控制器通常用于实现应用程序的导航层次结构,其中用户可以通过导航栏上的后退按钮返回到上一个视图控制器。

在导航控制器中,标题颜色可以通过设置导航栏的标题文本属性来更改。但是,当通过单击后退按钮返回到上一个视图控制器时,默认情况下标题颜色不会更改。这是因为导航控制器在返回时会自动恢复上一个视图控制器的导航栏样式,包括标题颜色。

要解决这个问题,可以通过以下步骤更改导航控制器的标题颜色在返回时也能够更改:

  1. 在目标视图控制器的viewWillAppear方法中,使用self.navigationController?.navigationBar.titleTextAttributes属性来设置导航栏的标题文本属性,包括颜色。

示例代码:

代码语言:swift
复制
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    
    let titleAttributes = [NSAttributedString.Key.foregroundColor: UIColor.red] // 设置标题颜色为红色
    self.navigationController?.navigationBar.titleTextAttributes = titleAttributes
}
  1. 这样,在每次返回到该视图控制器时,导航栏的标题颜色都会被更新为所设置的颜色。

这是一种解决导航控制器标题颜色不会更改的方法。根据具体需求,可以根据不同的场景和设计要求来设置不同的标题颜色。

腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为示例,具体产品选择应根据实际需求进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Cocoa编程中视图控制器与视图类详解

导航控制器使用内置动画在视图之间切换; 2. 导航控制器自动构建并处理Back按钮; 3. 导航控制器提供简单的菜单栏可帮助用户进行自定义控件。4....推入时,新的视图控制器从右方滑入屏幕(假定animated:YES)。向左指的Back后退按钮出现,可返回到上一步,且Back按钮用的是上一个视图控制器标题。 2....)和栏标题(title)、用于显示标题的视图(titleView),以及用于从当前视图向后导航的Back按钮(backBarButtonItem)和隐藏后退按钮(hidesBackButton)。...注意:对于导航栏定制,对定制实际标题的最简单方式使用子视图控制器而不是导航项的title属性: C代码   self.title = @"Hello";   self.title = [[[NSBundle...向不同的视图同时提供一次单击访问,向用户选择的屏幕和编辑底栏的屏幕同时提供More按钮

5K50

AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

项目导航器中单击 RickTV 项目,然后单击Signing & Capabilities。 注意:对 RickTV target执行以下步骤,Xcode 可能会崩溃。...您需要为 RickTV 和 RickTV-iOS的targetss重复以下步骤: 1) 选择 RickTV 或 RickTV-iOS target。 2) 单击 + Capabilit。...点击视频以显示自定义播放器控制器。 很好! 视频自定义控制器中播放。 但是……如果您点击画中画按钮,则什么也不会发生。 别担心,你现在会解决这个问题的。...如果您违反此规则,App Review 将不会批准您的应用! 构建并运行。 打开视频并点击按钮以启动画中画。 太棒了! PiP 开始自定义控制器中播放,但您还没有完成。...此外,如果您点击按钮从画中画返回标准播放,则不会发生任何事情。接下来您将解决这些问题中的第一个。

2.6K10

『React Navigation 3x系列教程』之createStackNavigator开发指南

none: 隐藏导航栏。 headerBackTitleVisible : 提供合理的默认值以确定后退按钮标题是否可见,但如果要覆盖它,则可以使用true或` false 在此选项中。...: 定义iOS上当前页面进入到下一页面的回退标题,可以通过设置null来禁用它; headerTruncatedBackTitle: 当回退标题不能显示的时候显示此属性的标题,比如回退标题太长了; headerBackImage...:React 元素或组件标题后退按钮中显示自定义图片。...headerBackTitleStyle: 定义返回标题的样式; headerPressColorAndroid:颜色为材料波纹 (Android >= 5.0); headerTintColor: 定义导航条的...当用户单击Go Back按钮通过: navigation.goBack(); 实现了返回上一页; 类似上述的应用场景有很多,大家可以通过与本教程配套的最新版React Native+Redux打造高质量上线

4.9K10

成为一名优秀 Swift 开发人员的 10 个小技巧

-7860c1e67337 在编写 iOS 代码,有一些关键点可以让我们的代码更具可读性、高效和可维护。...当控制器有成百上千行代码,标记就显得很重要了。使用标签来分割和管理代码非常重要,可以代码中快速导航。Xcode 11 右侧有一个代码导航器,基于此可以更频繁地使用标记。 4....此外,通过代码导航可以导航更好地控制共享参数和特定行为。还可以避免让 Storyboard 变得一团糟。 5. 项目中集成最热门的第三方库 尽量不要重新发明轮子。...使用扩展并合理使用它们来创建公共库 我很喜欢 Swift 扩展。使用 Objective-C ,我总是不情愿地使用继承。当然这并不总是错误的,正确的使用子类也不会出错。...本文中,我将重点更多地放在Swift功能上,以提高代码效率并传递Swift机制的优点。我提供了一些简单的示例,说明每个iOS应用程序和开发人员应关注的重点。 - EOF -

2.2K40

XcodeXcode 9 的全新功能您会喜欢的工具。内建 Interface BuilderXcode IDE

基于 Swift 4 的兼容性,Xcode 9 使用同一个编译器来构建已有的 Swift 3 代码和最新的 Swift 4 代码。从此,数据迁移的节奏,您说了算。...全新的源代码管理导航器凸显了我们对 Git 的支持:您可以快速浏览每个分支,标签及遥控提交更改的计划表;检查某一条目以查看所有受影响的文件,或双击某次提交以查看所有更改内容;如创建和合并分支等常见操作也能在导航器中快速访问...新的 Swift 4 编译器现已兼容 Swift 3 代码。您可以轻松地眨眼之间迁移数据至 Xcode 9:您的 app 中选择准备转移至 Swift 4 的部分,余下部分可稍后再进行迁移。...进一步了解 Swift 4 无线调试,剪断束缚 选择本地网络上的任何 iOS 或 tvOS 设备来安装、运行和调试您的 app,而无需使用 USB 线连接您的 Mac。...首次使用新的 iOS 设备,只需点击 Connect via Network (通过网络连接),从此该设备即可通过网络无线调试。

8.2K30

iOS14开发-UIViewController

验证:通过纯代码跳转发现屏幕黑色且卡顿,设置颜色后正常。 loadView方法 用于创建 UIViewController 的 view。...逆向传值 逆向传值即按照 UIViewController 跳转的顺序反向进行传值,比如控制器A跳转到控制器B,控制器B返回控制器A进行传值,这种方式就是逆向传值。...如果前一个 UIViewController 设置了title属性,则显示标题文字封装的返回按钮。 如果以上都未设置,则展示文字Back封装的返回按钮。...如果前一个 UIViewController 设置了backButtonItem属性或设置了backButtonTitle,可以起到更改返回按钮文字和图片的目的,但是返回按钮的<图标会一直存在,这种方式自带的返回和从屏幕边缘滑动返回的效果依然有效...颜色问题 UITabBar的颜色 可以通过 UITabBar 的barTintColor设置。 渲染颜色 图片一般由设计师统一设计,需要设置标题文字颜色以适应图片。

2.3K20

IOS开发基础系列】Navigation页面导航专题

对于父级VC与子级VC分别有navigationController的情况,即不是使用push方式加载子VC,而是通过AddChildViewController的方式添加的场景,则父级导航条会覆盖子级导航条上面...        最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是: [[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment...-7-uibarbuttonitem 2.5.4 隐藏返回按钮 [self.navigationItem setHidesBackButton: YES]; 2.5.5 设置导航标题的字体颜色和大小...否则会导致页面切换选中状态不准确         TabBar与导航条混用时,TabBarItem的设置是NavigationController中,而不是内容Controller中,切记!!!...7 导航栏背景,标题返回按钮文字颜色 http://blog.csdn.net/mad1989/article/details/41516743 IOS自定义导航栏题目和返回按钮标题 http://

31820

Swift-MVVM 简单演练(一)

) 设置子控制器 HQMainViewController中设置四个子控制器 用extension将代码拆分 通过反射机制,获取子控制器类名,创建子控制器 设置每个子控制的tabBar图片及标题 HQMainViewController...,按钮标题的融合问题 因为侧滑返回的时候,leftBarButtonItem及title的字体有渐融的问题,我们又想解决这样的问题。...出下一个控制器的时候,导航栏右侧会有一段白色的样式出现 原因是:系统默认的导航栏的透明度太高,自定义设置一个颜色就好了 HQBaseViewController.swift // 设置`navigationBar...则可以直接通过addTarget的方式为该视图中的按钮添加监听方法 这样做的代价是耦合度高,控制器和视图绑定在一起,但是省略部分冗余代码 ---- 调整未登录导航按钮 如果单纯的setupVistorView...中设置leftBarButtonItem和rightBarButtonItem,那么首页就会出现左侧的leftBarButtonItem变成了好友了,再点击好友按钮push出来的控制器的所有的返回按钮都变成了注册

10.2K51

UI篇-UINavigationController之易忘补充

入口类中全局设置就可以达到统一导航颜色的效果。  ...上面设置的为YES,下面的为NO 关于导航返回:     首先ios7 之后只要使用系统自带的导航效果就有手动滑动返回的效果。但是当自定义返回按钮,这种手动滑动返回的效果就没有了。...back 但是这个设置不会影响第二个VC的title 的颜色(默认的一直黑色)。...:action:设置视图的触发事件 tintColor  设置tintColor可以影响添加在导航条上的系统样式的按钮颜色  title: 标题  titleView :标题视图  leftBarButtonItem...每个视图控制器都有一个navigationItem属性,navigationItem中设置的做按钮、右按钮标题等,会随着控制器的显示,也显示到navigationBar上 我们来看一下这些名词是什么意思

2.1K20

Human Interface Guidelines —— 导航栏(Navigation Bars)

内容 当显示一个新的屏幕,一个后退按钮(通常标有前一个屏幕的标题)出现在该bar的左侧。...但是,如果导航栏的标题看起来多余,则可以将标题处留空。 例如,由于第一行内容提供了所需的所有上下文,因此Notes不会为当前的笔记加标题。 ?...当用户开始滚动内容,大标题转换为标准标题。 大标题在所有应用程序中没有意义,永远不会与内容竞争。 ...人们知道标准的后退按钮可以让他们通过层级的信息返回。但是,如果您实现了自定义后退按钮,请确保它仍然看起来像后退按钮,直观,与剩下的页面交互方式保持匹配,并始终贯穿于您的应用程序中。...如果您使用自定义图像替换系统提供的后退按钮V形图像,则也需要提供自定义遮罩图像。 iOS使用此遮罩在转场按钮标题设置动画效果。 ·不要包含多段面包屑路径。

2.4K110

架构之路 (五) —— VIPER架构模式(一)

如果您现在构建并运行,您将不会看到任何有趣的东西。 然而,本教程结束,您将拥有一个功能齐全的道路旅行计划应用程序。 ---- What is VIPER?...(trailing: presenter.makeAddNewButton()) 这将按钮标题添加到导航栏。...当您将其放置NavigationView中,该链接将成为一个按钮,将destination推送到导航堆栈上。 content块可以是任何一个SwiftUI视图。...导航栏修饰符使用presenter发布的tripName来定义标题,因此当用户键入时,它就会更新,而保存按钮则会保存任何更改。 构建并运行,现在,您可以编辑trip标题。...编辑旅行名称后保存,重新启动应用程序后将显示更改4.

17.3K10

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

当用户到达一个新的层级,导航栏需要做出这样的改变: 导航标题应该变成当前层级的标题。 当前标题左侧放置应有返回按钮,需要的话,返回按钮可以以前一层级的标题命名。 使用当前视图的标题作为导航标题。...如果在导航栏中使用了分段控件,请确保返回按钮标题命名的准确。(更多使用指引请参阅本章第三节中的分段控件。) ?...即使空间充足,也应当避免让过多的控件填满你的导航栏。一般来说,导航栏上应该不多于以下三个元素:当前视图的标题返回按钮和一个针对当前的操作控件。...屏幕处于同一方向,最好不要改变不同屏上导航栏的背景图片、颜色和透明度。 确保你自定义的返回按钮的外观与操作仍然像一个返回按钮。...用户知道系统默认的返回按钮能帮助他们信息层级中追踪自己的路径,如果你想重新设计它,请确保使用一个自定义的蒙版图层 (custom mask image),它可以iOS中让这些按钮标题在系统各转场中出现或者消失

10.1K51

应用程序内购买教程:入门

如果您删除并重新安装该应用程序,“ 还原”按钮将恢复以前购买的任何RazeFaces。 前往Xcode快速查看代码。主视图控制器位于MasterViewController.swift中。...iTunes Connect中仔细检查协议,税和银行部分也是很好的: ? 应用内购买教程 如果您看到标题为“ 包含付费应用程序行的请求合同”的部分,请单击“ 请求”按钮。填写所有必要信息并提交。...此名称不会出现在应用中的任何位置。您将通过此次购买解锁的RazeFace的标题Swift Shopping,因此请在此处输入。 产品ID:这是标识IAP的唯一字符串。...创建沙盒用户 App Store Connect中,单击窗口左上角的App Store Connect以返回主菜单。选择“ 用户和角色”,然后单击“ 沙箱测试器”选项卡。...作为购买交易观察员,IAPHelper购买恢复已经收到通知。下一步是通过恢复购买来对此通知做出反应。 打开IAPHelper.swift并滚动到文件的底部。

5.4K20

WKWebView

要允许用户Web历史页面中前进或者后退,要为按钮设置goBack或者goForward的动作。当用户不能在某个方向上再移动,使用canGoBack或者canGoForward来禁用按钮。...按指定的因子缩放页面内容,并将结果居中指定的点上。 导航 allowsBackForwardNavigationGestures。布尔值,指示水平滑动手势是否会触发后退列表导航,默认为NO。...网页视图的后退列表,即之前访问过的web页面的列表。 canGoBack。布尔值,指示后退列表中是否有可被导航到的后退项。 canGoForward。布尔值,指示后退列表中是否有可被导航到的前进项。...导航后退列表中的后腿项中。 - goForward。导航后退列表中的前进项中。 - goToBackForwardListItem:。导航后退列表中的某一个网页项,并将其设置为当前项。...导航后退列表的后退项中。 - goForward。导航后退列表的前进项中。 - reload。重新加载当前页面。 - reloadFromOrigin。

5.9K20

Travis CI 教程:入门

将基本分支保留 为主 分支,但将比较分支更改为 travis-setup,然后单击 “* 创建请求”*。 将拉取请求的标题更改为 Travis 设置: ?...返回 GitHub 页面并单击绿色 Merge pull request 按钮,然后单击 Confirm merge 以正式合并您的更改。 Hello, World!...github_travis_success 再次,单击 合并拉取请求,然后单击 确认合并 按钮以合并您的更改。合并后,您将在主要的 MovingHelper GitHub 页面上看到您的徽章: ?...首先, Xcode 侧栏中选择 MovingHelperTests 组,然后选择 File \ New \ File ... 并选择 iOS \ Source \ Swift File 模板。...您可以 此处 下载完成的项目。 本教程仅涉及 Travis CI 可以做的事情。不,它不会给你取咖啡或啤酒,但 Swift 不仅仅是运行测试。 Swift 的进一步能力 .

4.9K20

iOS 11 更大的导航 (官方翻译版)

导航导航栏出现在应用程序屏幕顶部的状态栏下方,并可以通过一系列分层屏幕进行导航。当显示新屏幕,通常标有前一屏幕标题后退按钮出现在栏的左侧。...但是,如果导航标题似乎是多余的,可以将标题留空。例如,Notes不会为当前注释标题,因为第一行内容提供了所需的所有上下文。 ? 标准标题 ? 大标题 当您需要特别强调上下文,请使用较大的标题。...使用标准后退按钮。人们知道标准的后退按钮可以让他们通过信息层次来回溯步骤。但是,如果您实现自定义后退按钮,请确保它仍然像后退按钮,行为直观,与您的界面的其余部分相匹配,并始终贯穿您的应用程序。...如果用自定义图像替换系统提供的返回按钮人字纹,也可以提供自定义遮罩图像。iOS使用此遮罩,可以转换期间为按钮标题设置动画。 不要包含多段面包屑路径。...后退按钮总是执行单个操作 - 返回到上一个屏幕。如果您认为没有当前屏幕的完整路径的情况下,人们可能会迷失方向,请考虑对应用程序的层次结构进行展平。 给文本标题按钮足够的空间。

2.8K30

最新iOS设计规范四|3大界面要素:视图(Views)

本文是iOS设计规范系列第4篇,介绍3大界面要素(栏、视图、控件)中的视图(Views)。首先让我们回顾一下iOS的3大界面要素。...模板图像应集中约70px×70px的区域中。 使用简单的活动标题来描述你的任务。标题显示活动视图中的图标下方。短标题最好。当标题太长iOS首先缩小文本,然后如果标题仍然太长直接将其截断。...页面视图控制器可以使用滚动或页面卷曲两种样式的任意一种完成页面之间的转场过渡。 ? 如果需要,可以自定义一种非线性的导航方法。使用页面视图控制器,页面只能按顺序跳转,而跨页面之间是无法跳转的。...虽然你可以使用各种类型的字体、颜色以及对齐方式,但必须保持内容的可读性。采用动态类型文本是个好办法,这样如果用户设备上更改文字大小,你的文本内容仍然会有友好的体验。...网页视图支持前进和后退导航,但默认情况下这种交互行为是被禁用了的。如果用户想通过网页视图访问多个页面,请启用前进和后退导航,并提供相应的控件来启动这些功能。 避免使用网页视图来构建一个网页浏览器。

8.3K31

AVKit框架详细解析(四) —— 基于AVKit 和 AVFoundation框架的视频流App的构建

AVPlayer 是 iOS 上播放视频的核心。 播放器对象可以启动和停止您的视频,更改其播放速率,甚至可以调高和调低音量。 将播放器视为能够一次管理一个媒体资产的播放的控制器对象。...这包括一个播放按钮、一个静音按钮和用于前进和后退的 15 秒跳过按钮。 2. Adding Remote Playback 那很容易,对吧? 如何从远程 URL 添加视频播放? 那一定要难很多!...4. Playing with Player Controls 接下来,是时候添加一些控件了。 你的任务是: 1) 单击时取消视频静音。 2) 双击 1x 和 2x 速度之间切换。...3) 当有人单击播放器视图,您可以添加一个侦听器。 这会切换视频的静音状态。 注意:确保首先添加双击侦听器,然后单击。 如果你反过来做,双击监听器将永远不会被调用。...您会在左上角看到画中画按钮……否则不会! 缺点是,撰写本文iOS 14.5是可用的最新版本,VideoPlayer 的 SwiftUI 视图未显示画中画按钮

6.8K10

iOS导航栏使用总结

目录: 一、设置导航栏样式 二、解决自定义导航返回按钮后侧滑不可用问题 三、隐藏导航栏底部的分割线 四、导航栏引起的布局问题 相关文章:iOS状态栏的使用总结 一、设置导航栏样式 设置导航栏的样式可分为全局设置与局部设置...设置导航返回按钮颜色 [[UINavigationBar appearance] setTintColor:[UIColor greenColor]]; //5.设置导航栏隐藏 [[UINavigationBar...iOS导航栏自带的返回按钮形式单一,所以大多情况下,我们都需要自定义导航返回按钮。...,用于优化滑动类视图(继承于UIScrollView的视图)视图控制里的显示: iOS系统的导航栏UINavigationBar与标签栏UITabBar默认都是半透明模糊效果,在这种情况下系统会对视图控制器的...我们可以通过一段代码来测试一下效果,默认导航栏(半透明)的视图控制器里添加如下代码: //UITextView是滑动视图,内容自动向下偏移,不会导航栏覆盖 UITextView *leftTextView

3.1K20
领券