ios - 如何隐藏导航栏后退按钮中的后退箭头?

标签 ios swift uinavigationbar

我有一个导航 Controller ,我想覆盖它的默认后退箭头图像和文本。基本上,而不是 < Back ,我想隐藏那个小<箭头,只显示Back文本。我已经能够用另一个图像替换后退箭头,所以我想我只需尝试用图像替换它,然后将图像设置为与背景颜色匹配。我怎样才能做到这一点?

在 AppDelegate.swift 中我有这个:

extension UINavigationItem{
    override open func awakeFromNib() {
        super.awakeFromNib()
        let backItem = UIBarButtonItem()
        backItem.title = ""
        backItem.image = UIImage(named: "icons8_burger")
        self.backBarButtonItem = backItem
    }
}

在单击按钮时发送到的 Controller 的 viewDidLoad() 中,我有以下内容:

override func viewDidLoad() {
        super.viewDidLoad()
        let burger = UIImage(named: "icons8_burger")

        navigationController?.navigationBar.backIndicatorImage = burger
        navigationController?.navigationBar.backIndicatorTransitionMaskImage = burger
    }

那么,我有什么想法可以实现这一点吗?到目前为止我还没有找到我要找的东西。

任何建议表示赞赏!

最佳答案

如果你这样做,

navigationController?.navigationBar.backIndicatorImage = nil
navigationController?.navigationBar.backIndicatorTransitionMaskImage = nil

navigationController?.navigationBar.backIndicatorImage = UIImage(named: "")
navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "")

然后默认 iOS 使用 <作为默认图像。

要删除此图像,您需要添加空白透明图像。我使用了 here 中的示例谷歌图像引用是 here

现在将图像像素大小减小到 (1,1)并添加您的 Assets 并使用以下代码。

navigationController?.navigationBar.backIndicatorImage = UIImage(named: "Blank")
navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "Blank")

此处空白与我的资源中的图像名称相同。

关于ios - 如何隐藏导航栏后退按钮中的后退箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57353204/

相关文章:

ios - Unity iOS 背景音频变得静音

IOS:UISearchBar 部分覆盖带有提示的 UINavigationBar

ios - uisearchbar 导航栏颜色&状态颜色

ios - 在 SDCAlertView 中添加约束

ios - 创建一个通用函数,该函数接受 View Controller 类型作为参数,并根据该类型返回自定义 View Controller

swift - 没有导航栏的半透明状态栏

ios - UINavigationBar 下方的 float 标题作为 subview - 接收触摸?

ios - 远程推送通知是否需要在 Info.plist 中添加 UIBackgroundModes?

objective-c - 在 iOS 中实现 HTTP post/Get 的正确方法

ios - NSCoder : how does the class know which object we pass?