【发布时间】:2014-04-01 10:37:28
【问题描述】:
我有一个包含三个选项卡的 tabBarController。我只想在第一个 ViewController 中将 rightBarButtonItem 显示到导航栏,但是当我回来时,我希望它再次可见。如何做到这一点?
我尝试为 BarButtonItem 设置 enabled=NO 但结果并不好。
我还尝试在视图更改时将 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];
【问题讨论】:
-
你能上传你的故事板的屏幕截图吗?
-
我以编程方式添加了 rightBarButtonItem。
-
对,你能展示一下实现吗?
-
是的,我正是想要这个。
-
@James03 我用一些代码重新编辑了我的帖子
标签: ios objective-c uinavigationcontroller uitabbarcontroller uibarbuttonitem