Ios 在TabBarController中保留UIViewController

Ios 在TabBarController中保留UIViewController,ios,objective-c,uiviewcontroller,uitabbarcontroller,Ios,Objective C,Uiviewcontroller,Uitabbarcontroller,我已经创建了自己的自定义TabBarController,它是UITabBarController的子类,我覆盖了此函数: - (void)setSelectedViewController:(UIViewController *)selectedViewController { [super setSelectedViewController:selectedViewController]; } 在TabBarController的选项卡内,比如说第4个选项卡,我可以推另一个ViewC

我已经创建了自己的自定义TabBarController,它是UITabBarController的子类,我覆盖了此函数:

- (void)setSelectedViewController:(UIViewController *)selectedViewController {
   [super setSelectedViewController:selectedViewController];
}
在TabBarController的选项卡内,比如说第4个选项卡,我可以推另一个ViewController。因此,现在在第4个选项卡上有一个新的ViewController。现在,我可以用另一个标签,比如3号标签。因此,问题出现在这里,当我再次单击第4个选项卡时,新的ViewController消失了,它没有保留


我怎样才能让它保留Facebook应用程序就是一个例子。

为此,您必须为每个选项卡使用SAPRATE导航控制器

假设您有三个选项卡,需要使用三个导航控制器


您可以将UINavigationController作为视图控制器,而不是要在其中的选项卡中推送新视图控制器的UIViewController。更改选择后,它将自动保留该控制器。如果不需要,也可以隐藏导航栏

以下是一个例子:


我已经试过了,但是不起作用,所以我试着调试它。最后,我发现推送新ViewController的NavigationController是UIMoreNavigationController。也许这就是解决方案不起作用的原因。我在自定义选项卡栏中有大约12个项目。我已经尝试过了,但不起作用,所以我尝试调试它。最后,我发现推送新ViewController的NavigationController是UIMoreNavigationController。也许这就是解决方案不起作用的原因。我在自定义选项卡栏中有大约12项。