【发布时间】:2015-06-25 02:28:41
【问题描述】:
我在由 TabBarController 驱动的 uiNavigationControllers 中嵌入了 uiViewControllers。大多数情况下,当我在选项卡之间移动时一切正常,但在随机跳转到第一个选项卡时,屏幕会变为空白(黑色)。 tabBar 仍然可见,我可以跳转到其他两个选项卡,但第一个选项卡仍然是空白的。这仅发生在我的 iPhone 上,而不是模拟器中。我的 appdelegate 看起来像下面的代码,有什么想法吗?
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:2];
tabBarItem1.title = @"Tab 1";
tabBarItem2.title = @"Tab 2";
tabBarItem3.title = @"Tab 3";
[tabBarItem1 setImage:[[UIImage imageNamed:@"tab1.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem1 setSelectedImage:[[UIImage imageNamed:@"tab1a.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem2 setImage:[[UIImage imageNamed:@"tab2a.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem2 setSelectedImage:[[UIImage imageNamed:@"tab2a.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem3 setImage:[[UIImage imageNamed:@"tab3.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[tabBarItem3 setSelectedImage:[[UIImage imageNamed:@"tab3a.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:207/255.0 green:83/255.0 blue:0/255.0 alpha:1.0]];
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:207/255.0 green:83/255.0 blue:0/255.0 alpha:1.0]];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor whiteColor]];
[UINavigationBar appearance].titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
UINavigationController *firstVCnav = [[tabBarController viewControllers] objectAtIndex:0];
UINavigationController *secondVCnav = [[tabBarController viewControllers] objectAtIndex:1];
UINavigationController *thirdVCnav = [[tabBarController viewControllers] objectAtIndex:2];
MyFirstVC *oneVC = [[firstVCnav viewControllers] objectAtIndex:0];
oneVC.managedObjectContext = self.managedObjectContext;
MySecondVC *twoVC = [[secondVCnav viewControllers] objectAtIndex:0];
twoVC.managedObjectContext = self.managedObjectContext;
MyThirdVC *thirdVC = [[thirdVCnav viewControllers] objectAtIndex:0];
thirdVC.managedObjectContext = self.managedObjectContext;
return YES;
【问题讨论】:
标签: ios objective-c tabs uitabbarcontroller