gpt4 book ai didi

ios - UITabBarController - 更多按钮不显示

转载 作者:行者123 更新时间:2023-11-29 13:17:23 26 4
gpt4 key购买 nike

我以编程方式创建我的 TabBarController,因为我希望每个选项卡中的相同 Controller 显示不同的内容。内容由 ID 获取。我使用 Storyboard ID 的方式与使用 initWithNibName: 的方式相同。

我在 AppDelegate 中这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];

UITabBarController *tabBarController = [[UITabBarController alloc] init];

for (int i = 0; i < 7; i++) {
MyViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"MyView"];
[svc setID: i];
[tabBarController addChildViewController:svc];
}

[self.window makeKeyAndVisible];
[self.window setRootViewController: tabBarController];

return YES;
}

但是 TabBar 只显示 7 个选项卡中的 5 个。这很好,因为同时只能显示 5 个选项卡。不幸的是,...更多按钮不可见。所以最后 2 个选项卡不可访问。

有谁知道如何强制显示“更多”按钮,或者为什么它不显示?

问候!

最佳答案

它没有显示,因为您使用 addChildViewController 方法将 View Controller 添加到选项卡栏 Controller ,该方法是 UIViewController 方法,而不是选项卡栏 Controller 方法。所以我认为正在发生的事情是标签栏 Controller 并不真正知道它有超过 5 个 View Controller 。

如果你想显示更多的 View Controller ,直接设置标签栏 Controller 的viewControllers数组。将您的代码修改为如下所示:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UITabBarController *tabBarController = [[UITabBarController alloc] init];
NSMutableArray *vcArray = [NSMutableArray array];
for (int i = 0; i < 7; i++) {
ViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"MyView"];
[svc setID: i];
[vcArray addObject:svc];
}
[tabBarController setViewControllers:vcArray]; //This is the important part.
[self.window setRootViewController: tabBarController];
[self.window makeKeyAndVisible];

关于ios - UITabBarController - 更多按钮不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383160/

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