【问题标题】:ViewController turns blank when jumping between tabs IOS在标签IOS之间跳转时ViewController变为空白
【发布时间】: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


    【解决方案1】:

    我从另一个论坛收到了一条提示,以检查我是否使用了预先配置了视图控制器设置的笔尖。 我确实在视图控制器中有一个 nib 引用,因为我删除了它,所以问题没有发生,但由于随机/罕见问题,如果问题再次出现,我将监控并更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多