ios - 从 TabBarController 的导航 Controller 隐藏 BarButton 项目

标签 ios objective-c uinavigationcontroller uitabbarcontroller uibarbuttonitem

我有一个包含三个选项卡的 tabBarController。我只想在第一个 ViewController 中将 rightBarButtonItem 显示到导航栏,但是当我回来时我希望它再次可见。如何做到这一点?

我尝试为 BarButtonItem 设置 enabled=NO,但结果并不好。

我还尝试在 View 更改时将 BarButtonItem 设置为 nil,但当我返回时却消失了。

我将 BarButtonItem 从 viewDidLoad 移动到 viewWillAppear,但它没有正常工作。

这是 rightBarButtonItem 到第一个 ViewController 的 viewDidLoad 的代码。

UIImage *refreshButtonImage = [UIImage imageNamed:@"9B_Info.png"];
UIImage *refreshButtonImageB = [UIImage imageNamed:@"9A_Info.png"];

UIButton *refreshButton = [UIButton buttonWithType:UIButtonTypeCustom];

[refreshButton setImage:refreshButtonImage
               forState:UIControlStateNormal];

[refreshButton setImage:refreshButtonImageB
               forState:UIControlStateHighlighted];

[refreshButton setImage:refreshButtonImageB
               forState:UIControlStateSelected];

refreshButton.frame = CGRectMake(0, 0, 30, 30);

[refreshButton addTarget:self
                  action:@selector(showImageInfo)
        forControlEvents:UIControlEventTouchUpInside];

UIBarButtonItem *refreshBarButtonItem = [[UIBarButtonItem alloc]  initWithCustomView:refreshButton];

self.refreshBtn=refreshBarButtonItem;

[self.tabBarController.navigationItem setRightBarButtonItem:self.refreshBtn];

最佳答案

您是使用 Storyboard还是全部以编程方式使用?试试这个:

1-打开新项目(单一 View )

2- 进入 Storyboard -> 添加导航 Controller enter image description here

3-删除 TableView Controller enter image description here

4- 将您的导航 Controller 设置为启动 Controller (将指向您的 View Controller 的箭头拖动到您的导航 Controller ) enter image description here

5- 将您的 View Controller 设置为导航 Controller 的 Root View Controller enter image description here enter image description here enter image description here

6- 在下方填写您的代码和@Apurv 的解决方案

关于ios - 从 TabBarController 的导航 Controller 隐藏 BarButton 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22783390/

相关文章:

iOS 导航 Controller 基础知识和自定义后退按钮

ios - 从静态库 XCode 4 中删除源代码

ios - Restkit:未调用 RKRequest 委托(delegate)

ios - 以编程方式按下 UIButton 时更改 UIImageView 中的图像

objective-c - 创建硬自定义按钮

swift - NavigationItem 右键未设置

ios - iPhone 6 Plus 上 UIButton 周围的边框

ios - iOS YouTube YouTube API上传视频,如何记录错误的userInfo?

ios - GCD 和 webView 的死锁

ios - 使用popViewController自定义过渡时如何防止键盘关闭