UINavigation 设置后退按钮图像而不是 <Back text Swift 2.0

UINavigation set back button image instead of the <Back text Swift 2.0

我正在尝试更改 UINavigationController 中的后退按钮。这是我到目前为止所尝试的和输出:

1

ViewDidLoad

内的代码
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "navBarBackButton")
    self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "navBarBackButton")
    self.navigationItem.backBarButtonItem?.image = UIImage(named: "navBarBackButton")

输出:

我尝试添加以下内容,但 id 没有帮助:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.Plain, target:nil, action:nil)

2

AppDelegate

内的代码
let backImg: UIImage = UIImage(named: "navBarBackButton")!
    UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)

输出:

3

我尝试在 Storyboard 中添加后退按钮,但没有任何改变

4 - Thanks to sanandiya vipul. Still need it to be instead of the 'Back'. This only deletes the 'Back but keeps the image lower right side instead of the entire '

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), forBarMetrics: .Default)

这是输出:

This is the result I am hoping to achieve

  1. 在代码下方添加您的 ViewDidLoad 方法。它对你很好。

对于Swift

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), forBarMetrics: .Default)

对于Objective-c

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0,- 80.f) forBarMetrics:UIBarMetricsDefault];

刚刚添加 UIBarButtonItem 并将其链接到操作。

    @IBAction func backTapped(sender: AnyObject) {
    self.navigationController?.popViewControllerAnimated(true)
}

Swift 5个版本

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -80.0), for: .default)

Swift 4个版本

设置背景标题文字颜色为透明

let barButtonItemAppearance = UIBarButtonItem.appearance()        
barButtonItemAppearance.setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .normal)                
barButtonItemAppearance.setTitleTextAttributes([NSAttributedStringKey.foregroundColor: UIColor.clear], for: .highlighted)