在UIMoreNavigationController上使用setViewController

时间:2013-09-30 11:34:04

标签: ios uinavigationcontroller uitabbarcontroller

当我尝试在嵌入UINavigationController的{​​{1}}内以编程方式设置控制器时,我的应用中出现了一种非常奇怪的行为。

基本上,我的应用是UITabBarController。其每个标签均为UITabBarController。当我收到推送通知时,我想选择一个特定的标签并设置一个UINavigationControllers的数组。

这是我的代码(在App Delegate中):

UIViewControllers

大部分时间都有效。例如,如果我的控制器是这样的:

  • A
  • C
  • d
  • 更多
    • E - F - G
    • H - 我
    • Ĵ

当电流控制器是A,B,C,D,E,G或I时,它工作正常。 如果当前控制器是E,H或J,它显示黑色方块而不是我的控制器。似乎UITabBarController *rootViewController = (UITabBarController*) [[[[UIApplication sharedApplication] delegate] window] rootViewController]; int idx = // find the tab position using rootViewController.viewControllers (the user can reorder them) rootViewController.selectedIndex = idx; UINavigationController *navController = childController.navigationController; NSArray *ctrls = navController.viewControllers; NSMutableArray *newCtrls = [NSMutableArray arrayWithArray:ctrls]; // Add one or more controllers to the list UIViewController *detailsController = ....; [newCtrls addObject:detailsController]; // Set the new list [[NSOperationQueue mainQueue] addOperationWithBlock:^ { [navController setViewControllers:newCtrls animated:YES]; }]; 和我自己UIMoreNavigationController之间存在混淆,但我看不出我在哪里做错了。

有没有人遇到过这种问题?

0 个答案:

没有答案