gpt4 book ai didi

iphone - 不是从 appDelegate 添加 UITabBarController 吗?

转载 作者:行者123 更新时间:2023-12-03 20:45:57 32 4
gpt4 key购买 nike

只是我一个人还是我在网上看到的 uitabbarcontroller 的所有示例都需要修改 appDelegate?如果标签栏稍后出现在应用程序中并且之前有一些其他屏幕怎么办?有人可以解释一下这一点或指出应用程序的第一个屏幕不是选项卡栏 View 的示例吗?我对此感到抓狂,如果不是来自 AppDelegate,似乎无法让选项卡栏工作。

谢谢!!!

更新:

因此,我在我的一个 View Controller 中执行此操作,方法是在单击按钮移动到下一个屏幕(即选项卡栏 View )时触发。它在执行过程中崩溃:

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[FirstView alloc] initWithNibName:@"FirstView" bundle:nil];
UIViewController *viewController2 = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil]; //CRASHES HERE
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];

知道为什么吗?谢谢!!

它在这一行崩溃:

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil]; //CRASHES HERE

最佳答案

您可以从任何 View Controller 将UITabBarController推送到导航 Controller 。这样做可能会折叠导航栏,因为 UITabBarController 中的 View Controller 本身可能包含 UINavigationController

为了解决这个导航栏问题,您需要从推送选项卡栏 Controller 的 View Controller 中隐藏当前导航 Controller 的导航栏。在当前 View Controller 的 viewWillDisappear: 方法中隐藏导航栏。

- (void)viewWillDisappear:(BOOL)animated {

[super viewWillDisappear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}

关于iphone - 不是从 appDelegate 添加 UITabBarController 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6762292/

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