在标签IOS之间跳转时,ViewController变为空白

时间:2015-04-18 04:02:07

标签: ios objective-c tabs uitabbarcontroller

我有uiViewControllers嵌入在由TabBarController驱动的uiNavigationControllers中。我在标签之间移动的大部分时间都很好,但是当我跳到第一个标签时屏幕变为空白(黑色)的随机时间。 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;

1 个答案:

答案 0 :(得分:0)

在另一个论坛上,我收到了一个提示,要检查我是否正在使用一个预先配置了视图控制器设置的笔尖。 我在viewcontroller中确实有一个nib引用,因为我删除了它没有发生的问题,但是由于随机/罕见的问题,如果问题回来我会监视和更新。