如何删除"编辑"按钮右上角"更多"在UITabBarController中

时间:2017-05-24 12:47:17

标签: ios swift3 uitabbarcontroller

我一直试图删除"编辑"按钮比显示在"更多"的右上角UITabBarController的一部分,通过向其添加TabBarController类并在其中执行以下操作:

class TabBarController: UITabBarController, UINavigationControllerDelegate, UITabBarControllerDelegate {

override func viewDidLoad() {
    super.viewDidLoad()

    self.moreNavigationController.delegate = self
    self.customizableViewControllers = nil
    self.moreNavigationController.navigationItem.rightBarButtonItem?.isEnabled = false
    self.moreNavigationController.navigationBar.topItem?.rightBarButtonItem = nil
}
}

但这不起作用。编辑按钮仍然显示。

如何删除此修改按钮?

2 个答案:

答案 0 :(得分:1)

为您的主要UITabBarController设置一个类。然后在viewdidload中,指定所有控制器都不可自定义。

class MainTabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.customizableViewControllers = []
    }

}

enter image description here

答案 1 :(得分:0)

answer in this post帮我解决了@Surjeet的建议。

对于Swift 3,这里的人是需要添加的功能,以便删除按钮:

func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
    let morenavbar = navigationController.navigationBar
    if let morenavitem = morenavbar.topItem {
        morenavitem.rightBarButtonItem = nil
    }
}