斯威夫特奇怪的后退按钮文字加
请看看我的截图,蓝色的“后退”文本始终显示iPhone上的加号(6S加,7加两个模拟器和真实设备)。它不会在小屏幕iPhone上显示。我尝试了很多方法来隐藏/改变它从现在/之前的控制器,但没有运气。
那么,为什么它在较小的iPhone上工作,但不是加号?
谁能帮我:(谢谢
这里是代码:。
@IBAction func filter(_ sender: Any) {
let view:FilterViewController = self.storyboard?.instantiateViewController(withIdentifier: "FilterViewController") as! FilterViewController
view.superVC = self
view.currentFilter = currentFilter
self.setLeftCloseNavigation()
self.navigationController?.pushViewController(view, animated: true)
}
func setLeftCloseNavigation(){
self.navigationController?.navigationBar.backgroundColor = UIColor.clear
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationController?.navigationBar.layer.mask = nil
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "icon_close")?.withRenderingMode(.alwaysOriginal)
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "icon_close")?.withRenderingMode(.alwaysOriginal)
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}
这里是viewDidLoad中推入控制器:
override func viewDidLoad() {
super.viewDidLoad()
statusBar = UIColor.black
setResetNavigation() }
func setResetNavigation(){
navigationItem.hidesBackButton = false
let skipButton = UIButton(frame: CGRect(x: 0, y: 0, width: 70, height: 30))
skipButton.setTitle("Reset all".localized(), for: .normal)
skipButton.setTitleColor(UIColor.black, for: .normal)
skipButton.titleLabel?.font = UIFont(name: "HJGothamMedium", size: 16)
skipButton.addTarget(self, action: #selector(resetAllClicked), for: .touchUpInside)
let skip = UIBarButtonItem(customView: skipButton)
navigationItem.rightBarButtonItem = skip
}
这是视图层次
试试这个
self.navigationItem.hidesBackButton = true
或检查您的故事板将保持
谢谢,但我不想隐藏,只是想删除文本 –
使用下面的行删除文本
navigationController?.navigationBar.topItem?.title = ""
谢谢,我试过了,但它没有工作:(我把它放在前一个控制器(推送前)和呈现控制器(viewdidload,viewdidappear) –
什么是十字架,如果它的一个按钮看你是否错误地把名字放回到那个按钮以及一个十字图像 –
我也检查过了,请看更新代码 –
可以检查你的UI层次结构,如果发现相关的看法,然后删除该视图:
您还可以通过在调试导航来自进程视图选项菜单中选择查看UI层次调用视图调试程序,或通过选择调试>查看调试>捕获视图层次。
请看看视图层次结构的截图我只是添加 –
从下面的代码中,您可以将backButton文本颜色设置为您想要的任何颜色。您可以简单地将backButton设置为clear
textColor。所以,当它出现时它将不可见。
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UINavigationBar.classForCoder() as! UIAppearanceContainer.Type]).setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
更新:如果你想要去一个不同的approach.Check这篇文章How to customize the navigation back symbol and navigation back text?和接受的答案。
直接做到这一点,你可以展示一些代码 –
检查你的观点在故事板和删除按钮。 – KKRocks
是这个presentViewController? – KKRocks