1

由于某种原因,此代码不会隐藏后退按钮文本。

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

文本保持“返回”。

另一方面执行:

self.navigationItem.hidesBackButton

确实隐藏了按钮。我在 viewDidLoad 中执行了这两个操作。任何想法如何删除该文本并仅保留箭头?我已经阅读了这个网站上的建议。

4

4 回答 4

0

我正在使用以下技术来隐藏后退按钮。每当我执行 segue新视图控制器推送到导航堆栈时,我都会调用此函数并将 self 传递给参数。

func clearBackButtonText(vc : UIViewController) {

  let backItem = UIBarButtonItem()
  backItem.title = ""
  vc.navigationItem.backBarButtonItem = backItem

}
//call this function in view didLoad of your view controller OR before pushing a view controller on navigation stack
clearBackButtonText(vc: self)

请参阅示例

在 TableVC 的 Viewdidload 上,我正在调用该函数

class TableVC: UIViewController {
   override func viewDidLoad() {

       super.viewDidLoad()
       clearBackButtonText(vc: self)
    }
}

在 didSelect 的一行中,我正在对 DetailVC 进行推送。我的后退按钮只有箭头

在此处输入图像描述

希望能帮助到你

于 2018-04-18T06:08:43.897 回答
0

斯威夫特 4:

/// This will hide the back button title
private func hideBackButtonTitle(){
    let backButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
    backButtonItem.setTitleTextAttributes([.foregroundColor: UIColor.clear], for: .normal)
    backButtonItem.setTitleTextAttributes([.foregroundColor: UIColor.clear], for: .highlighted)
    self.navigationItem.backBarButtonItem = backButtonItem
}
于 2018-04-16T15:17:27.733 回答
0

感谢您的回复。事实证明,后退按钮的标题将设置为它将返回的视图控制器的标题。我所要做的就是为之前的 ViewController 设置 navigationItem.title = " "。

超级郁闷...

于 2018-04-18T12:39:07.957 回答
0

在您的root/main ViewController-

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

代码 -

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
    }

输出 -

在此处输入图像描述

于 2018-04-16T17:57:02.950 回答