我在导航栏中有一个视图控制器,它推动一个标签栏视图控制器,该控制器有 4 个标签和视图控制器。当我NSLog(@"%@", self.navigationController)
进入 TabBarViewController 的 viewDidLoad 时,它显示为 (null)。甚至NSLog(@"%@",self.tabBarController)
在 TabBarViewController 的 viewDidLoad 中为 (null)。这很奇怪,因为我有一个选择器,用于后退按钮,称为dismissTab,我弹出视图控制器并且它可以工作。如果我在那里 NSLog 它不会出现 (null) 所以某处有问题。我有一种感觉,这就是我的每个选项卡的 ViewController 被 NavigationBar 和 TabBar 隐藏的原因。我已经阅读了有关 NavigationBar/TabBars 隐藏/覆盖控制器的一部分的帖子,但所有这些帖子都只是找到了调整表格视图大小或向下/向上更多对象的技巧。我想找到一个解决方案。
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIStoryboard *iPhoneStoryBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
ViewController *mainViewController = (ViewController*)[iPhoneStoryBoard instantiateViewControllerWithIdentifier:@"HomePage"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:mainViewController];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
当我按下 tabBars 时的ViewController.m
UIStoryboard *iPhoneStoryBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
GRxTabBarViewController *tabViewController = (GRxTabBarViewController*) [iPhoneStoryBoard instantiateViewControllerWithIdentifier:@"GRxTabBarViewController"];
PViewController *pController = [tabViewController.viewControllers objectAtIndex:0];
SViewController *sController = [tabViewController.viewControllers objectAtIndex:1];
IViewController *iController = [tabViewController.viewControllers objectAtIndex:2];
MViewController *mController = [tabViewController.viewControllers objectAtIndex:3];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:iController];
[tabViewController setViewControllers:[NSArray arrayWithObjects:pController, sController, navController, mController, nil]];
[self.navigationController pushViewController:tabViewController animated:YES];
我不知道我可能哪里出错了,因为在GRxTabBarViewController的 viewDidLoad 中,我为后退按钮和选择器设置了一个图像,它可以工作,因为图像已设置并且选择器将其从堆栈中弹出。我还可以在 pViewController、iViewController、sViewController 和 mViewController 中加载数据并执行操作。
任何人都有这个问题或知道他们可以指导/指导我的解决方案吗?任何事情都有助于诚实。提前致谢!