2012-04-02 47 views
2

我正面臨一個小問題。衆所周知,如果您有超過5個選項卡,iOS會添加一個「更多」按鈕,並使用「編輯」按鈕在「更多」視圖中顯示其他欄項目。由於某些原因,我想刪除此按鈕。不知何故,我嘗試了下面的方法,它不起作用。如何在基於標籤的iPhone應用程序的「更多」視圖中刪除「編輯」按鈕

tabBarController.moreNavigationController.navigationItem.rightBarButtonItem = nil; 

任何人都可以幫我嗎?謝謝。

+1

你有什麼錯誤,然後讓我們知道。它有助於定製前4個選項卡,因此如果刪除「編輯」按鈕,則用戶不會自定義它。所以認爲b4這樣做。 – 2012-04-02 15:00:36

+0

沒有錯誤,但沒有效果。 – scottliyq 2012-04-02 15:05:56

+0

然後,我不確定,但認爲蘋果不允許開發人員這樣做。 Apple拒絕篡改框架政策的應用程序,我的意思是你可以自定義你自己的標籤欄,但不能用蘋果提供的UITabBar – 2012-04-02 15:19:09

回答

0

tabBarController.navigationItem.rightBarButtonItem = nil;

希望它會有所幫助。

+0

對不起,它不起作用。 – scottliyq 2012-04-02 15:44:28

+0

@scottliyq它不工作,那麼爲什麼你接受這個答案。? – 2014-07-25 11:27:03

0

請在您的viewDidLoad中添加導航代表。

self.navigationController.delegate = self; 
0

首先,設置moreNavigationController的委託。

moreNavigationController.delegate = self 

然後你就可以更改導航項目在此委託方法:

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) { 
    // remove edit button in 'more' table view 
    navigationController.navigationBar.topItem?.rightBarButtonItem = nil 
} 
0

你總是可以隱藏它,然後禁用它像這樣:

self.tabBarController?.moreNavigationController.navigationBar.topItem?.rightBarButtonItem?.tintColor = UIColor.clear 
self.tabBarController?.moreNavigationController.navigationBar.topItem?.rightBarButtonItem?.isEnabled = false 

更改的UIColor清除使其不可見,然後通過禁用其功能,使其完全無法使用,同時使其不可見。

相關問題