簡體   English   中英

刪除UINavigationBar后退按鈕標題

[英]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的viewWillAppearUIViewController的自定義基類中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM