gpt4 book ai didi

ios - Bar Button Item 中只有一个 tab bar controller 导航栏

转载 作者:技术小花猫 更新时间:2023-10-29 10:56:35 26 4
gpt4 key购买 nike

我有一个带有 4 个 View Controller 的标签栏 Controller ,并且在导航 Controller 中有这个标签栏 Controller 。

我只想为标签栏 Controller 的一个特定 View Controller 显示一个 UIBarButtonItem。

我尝试使用以下内容

if (tabBarController.selectedViewController == customTourViewController)
{
[tabBarController.navigationItem setRightBarButtonItem:done];
}

但是按钮没有显示。

如果我将每个 View Controller 都放在一个导航 Controller 中,那么按钮只会针对该 View 显示,但我最终会有 2 个导航栏。

有什么方法可以实现第一个解决方案吗?谢谢。

最佳答案

在我的各个选项卡的单独 View Controller 中,我在需要按钮的 View Controller 中有以下内容:

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonSystemItemDone target:nil action:nil];
self.tabBarController.navigationItem.rightBarButtonItem = rightButton;
}

在不需要按钮的 View Controller 中,我有:

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];

self.tabBarController.navigationItem.rightBarButtonItem = nil;
}

所以,如果它不适合你,我不确定它是否是你对没有 self 指定的 tabBarController 的引用(如果我省略了 self 我得到一个编译器错误)。这段代码在哪里,因为如果它在您的 tabBarController 子类中,那么您需要 self.navigationItem.rightBarButtonItem,对吗?您是否为该变量名称定义了自己的 ivar?或者您确定 done 定义正确(即不是 nil)?或者您确定正在调用此代码(可能设置断点或插入 NSLog 并确保已到达此代码)?

关于ios - Bar Button Item 中只有一个 tab bar controller 导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com