Ios UITABBARC控制器中的双UINavigationBar
我们在Ios UITABBARC控制器中的双UINavigationBar,ios,objective-c,iphone,uitabbarcontroller,uinavigationbar,Ios,Objective C,Iphone,Uitabbarcontroller,Uinavigationbar,我们在AppDelegate中有一个UINavigationViewController根viewController: Restore *callRestore=[[Restore alloc]initWithNibName:@"Restore" bundle:nil]; self.navigationController = [[UINavigationController alloc] initWithRootViewController:callRestore]; self.win
AppDelegate
中有一个UINavigationViewController
根viewController
:
Restore *callRestore=[[Restore alloc]initWithNibName:@"Restore" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:callRestore];
self.window.rootViewController = self.navigationController;
我们正在从上面的还原推送一个新的viewController
(TabViewController
):
callTabView=[[TabViewController alloc] initWithNibName:@"TabViewController" bundle:nil];
[self.navigationController pushViewController:callTabView animated:YES];
在该选项卡ViewController
中,我们以编程方式添加UITabBarController
作为子视图,在此UITabBarController
中,我们有5个UINavigationBarController
作为视图控制器:
NSArray* controllers = [NSArray arrayWithObjects:navControllerDashboard, navControllerAccounts, navControllerTransation,navControllerCallDisplayReports,navControllerMore, nil];
self.tabBarController.viewControllers = controllers;
self.tabBarController.delegate = self;
self.tabBarController.view.frame = self.view.frame;
[self.view addSubview:self.tabBarController.view];
当我们从这5个UINavigationViewController
旋转任何视图时,我们在横向
和纵向
模式的顶部都会得到2个UINavigationBar
检查下图
didRotateFromInterfaceOrientation未从这些5 UINavigationViewController视图调用
有任何帮助吗?当您将视图控制器作为子视图手动添加到另一个视图控制器时,必须执行以下操作:
UIViewController *parent = ...;
UIViewController *child = ...;
[child willMoveToParentViewController: parent];
[parent addChildViewController: child];
[parent.view addSubview: child.view];
[child didMoveToParentViewController:parent];
这会将所有事件传播到子视图控制器,并可能删除意外行为。当您将视图控制器作为子视图手动添加到另一个视图控制器时,必须执行以下操作:
UIViewController *parent = ...;
UIViewController *child = ...;
[child willMoveToParentViewController: parent];
[parent addChildViewController: child];
[parent.view addSubview: child.view];
[child didMoveToParentViewController:parent];
这将把所有事件传播到子视图控制器,并可能删除意外行为。callTabView是UIViewController。我们正在初始化tabBarController并添加如下tabBarController:self.tabBarController=[[UITabBarController alloc]init];[self.view addSubview:self.tabBarController.view];callTabView是UIViewController。我们正在初始化tabBarController并添加如下tabBarController:self.tabBarController=[[UITabBarController alloc]init];[self.view addSubview:self.tabBarController.view];