[英]Remove UINavigationBar back button title
有沒有辦法刪除應用程序所有視圖控制器中后退按鈕項目的標題?
注意 :重要的是全部 。 我最近去過的就是這種解決方案 :
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
forBarMetrics:UIBarMetricsDefault];
但是正如我在評論中提到的那樣,存在一個問題,即大標題被推到右側,因此該解決方案無效。
試試這個
self.navigationItem.hidesBackButton = YES;
隱藏顯式(您自己設置的)后退按鈕
self.navigationItem.leftBarButtonItem = nil;
只需將后退按鈕的title
設置為""
這是個迅速的例子
self.navigationItem.backBarButtonItem = UIBarButtonItem(
title: "",
style: UIBarButtonItemStyle.Plain,
target: nil,
action: nil)
為了在所有視圖控制器中做到這一點,我通常制作一個BaseViewController
,在其中viewDidLoad
一行包含在viewDidLoad
方法中。 然后,當我有一個viewcontroller時,我將其子類BaseViewController
。
如果您還移動x值-150,則您的解決方案可能會起作用,但對我來說,這聽起來像hack,因為您始終一直在顯示它,但超出了視野。
尚未提及的一種方法是使用自定義切片視圖,該視圖在標簽中顯示標題,然后再從不實際設置ViewControllers的title屬性。
這應該在UIViewController的擴展或基類中進行設置。
然后,您根本不必更改barButtonItem,並且可以選擇對標題進行更多更改(帶有字幕等)。
像這樣:
extension UIViewController {
func setTitleView(title:String) {
let titleView = CustomTitleView()
titleView.titleLabel.text = title
self.navigationItem.titleView = titleView
}
}
如果您設置一個帶有一個標簽出口和一些約束的簡單CustomTitleView筆尖。
編輯:
在所有VC上,標題屬性都需要設置為“”。 這樣,下一個按下的VC中的后退按鈕文本將標題為“”
更改UINavigationController
的后退按鈕標題所需UINavigationController
就是:
斯威夫特 :
navigationController?.navigationBar.topItem?.title = ""
您可以將其添加到要推送的新viewController的viewWillAppear
或UIViewController
的自定義基類中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.