将另一个视图控制器推入UITabBarController视图

Aro*_* K. 7 objective-c uitabbarcontroller ios

对于我的应用程序中的导航,我正在使用UITabBarController.这工作正常,但在我的一个viewcontrollers中,我想将另一个视图控制器推入tabbar视图.换句话说,我想用另一个替换所选的viewcontroller.我正在使用以下代码执行此操作:

self.tabBarController.selectedViewController = self.otherViewController;
Run Code Online (Sandbox Code Playgroud)

我的TabBarController中的viewControllers列表不包含otherViewController.这个技巧在IOS 4.3中运行良好,但IOS 5并不喜欢它.

有谁知道IOS 5接受的解决方案?

Jav*_*oto 12

您想要使用另一个视图控制器来替换标签栏中的视图控制器吗?如果是这样,您必须通过设置一个新窗口来编辑tabbar中的viewControllers属性.它会是这样的:

UIViewController *thisIsTheViewControllerIWantToSetNow;
int indexForViewControllerYouWantToReplace;

NSMutableArray *tabbarViewControllers = [self.tabbar.viewControllers mutableCopy];

[tabbarViewControllers replaceObjectAtIndex:indexForViewControllerYouWantToReplace withObject:thisIsTheViewControllerIWantToSetNow];

self.tabbar.viewControllers = tabbarViewControllers;

[tabbarViewControllers release];
Run Code Online (Sandbox Code Playgroud)