我在iphone应用程序中放了一个全局tabBarController,我一直在努力。 但是在我的一个屏幕中,我需要放置与全局tabBarController不同的本地tabBar。
我有两种方式: 1)通过self.tabBarController.tabBar.hidden = yes隐藏全局tabBar;并在视图中放置本地tabBar代替它。但是tabBar的框架显示为空白。 2)通过添加本地tabBar作为全局tabBar的子视图尝试但是在屏幕被卸载之后它通过应用[localTabBar removeFromSuperView]来删除本地tabBar;
提前致谢..
Global tabBarController:
tabBarController = [[UITabBarController alloc] init];
tabBarController.viewControllers = [NSArray arrayWithObjects:ActivityTabnav,nav2,privateChatnav,ExploreTabnav,nav3,tempTabnav, nil];
localtabBar是viewController视图xib上的tabBar。 在vIewDidLoad>
UIWindow* window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:self.tabBar];
in vIewDidUnLoad>
[self.tabBar removeFromSuperview];
以前我尝试将self.tabBar添加到self.tabBarController.tabBar作为subView,它在其他屏幕中保存了本地self.tabBar。
谢谢...
答案 0 :(得分:1)
我发现这样做最干净的方法是设置视图控制器的hidesBottomBarWhenPushed
属性,然后将其放在UINavigationController
内(如果不需要,则隐藏navigiationBar) 。这将隐藏UITabBarController's
UITabBar
,而不会留下空格。
然后,您可以将本地UITabBar
直接放入UIViewController's
视图;
另一种可能性是隐藏UITabBarController's
UITabBar
,然后将本地UITabBar
添加为UITabBarController's
视图的子视图。当然,你需要在需要时从superview中删除。
答案 1 :(得分:0)
一种方法是在Window上添加TabBar。但请确保您处理正确。您可以通过获取当前窗口对象在窗口上添加它,然后将TabBar添加到它上面......如下所示......
UIWindow* window = [[UIApplication sharedApplication] keyWindow];
[window addSubview:tabbar];
这可能是一个选择,但要小心处理......