问题描述
当我按 UIViewController
时,它在新的 UIViewController
的后退按钮中有一些标题,如果标题有很多文字,它在iPhone 4s看起来不太好所以我想删除它。
When I push a UIViewController
, it has some title in back button at new UIViewController
, if the title has a lot of text, It does not look good in iPhone 4s So I want to remove it.
如果我在 prepareForSegue中添加一些代码
功能,这将是一个麻烦。
If I add some code in prepareForSegue
function, it is going to be a trouble.
有没有更好的方法来实现这个目标?
Any better way to achieve this?
推荐答案
如果你想要后退箭头,那么下面的代码将 AppDelegate
文件放入 didFinishLaunchingWithOptions
方法。
If you want back arrow so following code put into AppDelegate
file into didFinishLaunchingWithOptions
method.
对于Objective-C
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60) forBarMetrics:UIBarMetricsDefault];
对于Swift
let BarButtonItemAppearance = UIBarButtonItem.appearance()
BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
下面给出另一个选项。
In 目标C
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
在 Swift
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
更新:
let BarButtonItemAppearance = UIBarButtonItem.appearance()
let attributes: [NSAttributedStringKey: Any] = [
BarButtonItemAppearance.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.clear], for: .normal)
NSAttributedStringKey.font: UIFont.systemFont(ofSize: 0.1),
NSAttributedStringKey.foregroundColor: UIColor.clear]
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)
UPDATE SWIFT 4.1:
let attributes = [NSAttributedStringKey.font: UIFont(name: "Helvetica-Bold", size: 0.1)!, NSAttributedStringKey.foregroundColor: UIColor.clear]
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .normal)
BarButtonItemAppearance.setTitleTextAttributes(attributes, for: .highlighted)
使用抵消
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-1000, 0), for:UIBarMetrics.default)
所以可能你的问题已经解决了。
So may be your problem has been solve.
快乐编码。
这篇关于如何删除所有导航栏后退按钮标题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!