从 UITabBarController 的 moreNavigationController 中移除 rightBarButtonItem
Posted
技术标签:
【中文标题】从 UITabBarController 的 moreNavigationController 中移除 rightBarButtonItem【英文标题】:Removing the rightBarButtonItem from moreNavigationController of UITabBarController 【发布时间】:2017-02-21 12:41:23 【问题描述】:我在我的应用程序中添加了tabBar
,并使用代码删除了rightBarButtonItem
:
UITableView *moreTableView = (UITableView *)tabController.moreNavigationController.topViewController.view;
tabController.moreNavigationController.navigationBar.topItem.rightBarButtonItem = nil;
现在,当我导航到其他屏幕并单击tabBar
的More
按钮时,rightBarButtonItem
再次出现。如果我使用后退导航按钮,它不会出现并且工作正常。但是,当我从 tabBar 中点击 More
按钮时,它会再次出现。
【问题讨论】:
【参考方案1】:我用过
tabController.customizableViewControllers = nil;
效果很好:)
【讨论】:
这比moreNavigationController.navigationBar.topItem.rightBarButtonItem = nil;
工作得更好,因为它不会在其中一个 VC 可见时触摸 More 选项卡上的 VC 意外删除 rightBarButtonItem。只要设置了 tabBar VC,就执行此操作。
不幸的是,这对我不起作用,还不能弄清楚为什么。编辑:看起来它必须在设置viewControllers
属性之后设置。【参考方案2】:
你应该在你想摆脱它的每个 viewControllers viewDidLoad
中调用 navigationItem.rightBarButtonItem = nil
。
另外,您能否展示更多您的实现代码?
【讨论】:
我不想隐藏后退按钮。我想从 moreNavigationController 中隐藏编辑按钮。以上是关于从 UITabBarController 的 moreNavigationController 中移除 rightBarButtonItem的主要内容,如果未能解决你的问题,请参考以下文章
目前从 Appdelegate 快速转到 UITabBarController
从 UITabBarController 推送的 UISplitViewController
从 NSObject 类更新 UITabBarController 栏项目
如何从 View 获取数据到 UITabBarController
从 UITabBarController 和 UINavigationController 访问 UIViewController