ios - 如何快速自定义导航返回按钮?
问题描述
我想更改导航栏上的后退按钮图标和标签以及后退按钮标签的颜色。我已经编写了以下代码,但它不起作用。如果有人知道解决方案,请帮助我。
override func viewDidLoad() {
super.viewDidLoad()
let yourBackImage = UIImage(named: "back_arrow")
self.navigationController?.navigationBar.backIndicatorImage = yourBackImage
self.navigationController?.navigationBar.tintColor = .white
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = yourBackImage
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Find or Invite", style: UIBarButtonItem.Style.plain, target: nil, action: nil)
}
解决方案
看起来您手动添加了没有嵌入式导航控制器的导航栏。
为此,只需像这样连接插座
@IBOutlet weak var navigationBar: UINavigationBar!
并从您的代码中删除导航控制器部分,如下所示
let yourBackImage = UIImage(named: "back_arrow")
self.navigationBar.backIndicatorImage = yourBackImage
self.navigationBar.tintColor = .white
self.navigationBar.backIndicatorTransitionMaskImage = yourBackImage
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "Find or Invite", style: UIBarButtonItem.Style.plain, target: nil, action: nil)
推荐阅读
- python - 直接从 python-requests 响应运行时替换函数不起作用
- inheritance - 如何在odoo12中的“account.invoice”表单视图中显示模型“sale.order”的字段
- c# - C# Selenium:如何在 Sharepoint 文件夹上传对话框中单击不在 DOM 中的接受按钮
- spring - Spring Boot Upload Multipart 413 请求实体太大
- javascript - 如何从循环范围中计数
- angular - 如何使用 *ngFor 仅显示数组中的一项?
- c# - UnityEvent 未在检查器中显示动态方法调用(其他统一事件也部分中断)
- javascript - 为什么我的分数第一次没有更新?(剪刀石头布)
- ansible - 使用 gitlab,如何触发 CI 使用不同的 YAML 文件进行 ansible?
- android - 无法使用 intellij 或 android studio 构建空的颤振项目