删除tabbar控制器中的后退按钮文本更多导航控制器

时间:2016-02-10 02:48:33

标签: ios swift uinavigationcontroller uitabbarcontroller

我正在使用标签栏控制器来显示我的视图,因为我已超过5个标签,所有其他视图会自动移动更多tabbarcontroller的导航控制器。

我的主要目标是删除更多导航控制器中存在的所有视图中的后退按钮文本。我尝试了删除文本的所有可能方法。请帮我解决这个问题。

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)


tabBarController!.moreNavigationController.navigationBar.backItem?.title = "";

请参阅我附带的截图。这是从moreNAvaigation控制器获取的页面。所以我蚂蚁隐藏了按钮文本以及它的子视图

enter image description here

4 个答案:

答案 0 :(得分:3)

在您的Source ViewController中,将以下代码添加到viewWillAppear

self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)

从此视图控制器中,您需要按如下方式移动到目标视图控制器:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let destinationViewController:UIViewController  = storyboard.instantiateViewControllerWithIdentifier("DetailView") as! UIViewController
self.navigationController?.pushViewController(destinationViewController, animated: true)

答案 1 :(得分:2)

我刚遇到同样的问题,并通过Google找到了这个答案。选定的答案对我不起作用,所以我做了一些挖掘并且能够弄明白这一点。  在backBarButtonItem导航项上设置moreNavigationController属性将不会执行任何操作,您需要使用另一个隐藏的视图控制器...

如果您在调试器中查看moreNavigationController.viewControllers,您会看到数组中已有一个名为UIMoreListController的视图控制器。您需要在backBarButtonItem实例上设置UIMoreListController属性才能生效。

这应该有效(在UITabBarController子类中):

if let moreList = moreNavigationController.viewControllers.first(where: { String(describing: type(of: $0)) == "UIMoreListController" }) {
  moreList.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
}

答案 2 :(得分:1)

请使用public String getCategory() { this(bmi); }

leftBarButtonItem

OR

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: nil, action: nil)

答案 3 :(得分:1)

self.navigationItem.hidesBackButton = true