详谈隐藏Tabbar的几种方法
2014-11-12 10:47
141 查看
现在正在写的一个项目,涉及到了使用两个TabBar,然后我需要显示其中一个的时候,然后隐藏另外一个,但是中间却出现问题了.我查了一些资料,想总结一下关于TabBar的隐藏.
第一种方法是:
//隐藏tarBar
self.hidesBottomBarWhenPushed =
YES;
这个方法是UIViewController的属性,很好用.但是我需要把隐藏的TabBar显示出来的时候,却发现显示不出来.
- (void)viewWillAppear:(BOOL)animated
{
//显示TabBar
self.hidesBottomBarWhenPushed =
NO;
//显示导航条
self.navigationController.navigationBarHidden =
NO;
}
然后,我开始想,有没有其它的方法,我找了一下,发现了第二种方法;
第二种方法:
//隐藏tarBar
self.tabBarController.tabBar.hidden
= YES;
这个方法才是UITabBarController 自带的方法 ,我写了一下,发现能够隐藏.
然后,我赶紧试一下,是不是可以显示出来.
- (void)viewWillAppear:(BOOL)animated
{
//显示TabBar
self.tabBarController.tabBar.hidden
= NO;
//显示导航条
self.navigationController.navigationBarHidden =
NO;
}
我发现特别管用,我的TabBar显示出来了.我的问题,也解决了.所以,建议大家用第二种方法.
当然,在我查资料中,我也看到网友们提到的第三种方法;
第三种方法 :
就是把UITabBar的位置移动,即调整frame.origin.y的值。消失就是把它移出屏幕,出现就是把它再放回原地。(但,还原时又卡顿现象,体验很差,不建议)
所以,在ViewController7.m中:
在ViewController1.m中:
好吧,目前知道就是这些了,欢迎大家根据自己的需求,挑选合适的方法.
第一种方法是:
//隐藏tarBar
self.hidesBottomBarWhenPushed =
YES;
这个方法是UIViewController的属性,很好用.但是我需要把隐藏的TabBar显示出来的时候,却发现显示不出来.
- (void)viewWillAppear:(BOOL)animated
{
//显示TabBar
self.hidesBottomBarWhenPushed =
NO;
//显示导航条
self.navigationController.navigationBarHidden =
NO;
}
然后,我开始想,有没有其它的方法,我找了一下,发现了第二种方法;
第二种方法:
//隐藏tarBar
self.tabBarController.tabBar.hidden
= YES;
这个方法才是UITabBarController 自带的方法 ,我写了一下,发现能够隐藏.
然后,我赶紧试一下,是不是可以显示出来.
- (void)viewWillAppear:(BOOL)animated
{
//显示TabBar
self.tabBarController.tabBar.hidden
= NO;
//显示导航条
self.navigationController.navigationBarHidden =
NO;
}
我发现特别管用,我的TabBar显示出来了.我的问题,也解决了.所以,建议大家用第二种方法.
当然,在我查资料中,我也看到网友们提到的第三种方法;
第三种方法 :
就是把UITabBar的位置移动,即调整frame.origin.y的值。消失就是把它移出屏幕,出现就是把它再放回原地。(但,还原时又卡顿现象,体验很差,不建议)
所以,在ViewController7.m中:
//增加一个试图即将出现时的方法,并在此设置把tabBar下移,移除整个屏幕,相当于消失了 -(void)viewDidAppear:(BOOL)animated{ NSArray *arr1=self.tabBarController.view.subviews; UIView *view1=[arr1 objectAtIndex:0]; UITabBar *tabBarView1=[arr1 objectAtIndex:1]; //第一个视图就是全屏,不需要把高度撑满,所以可以不做任何设置 //view1.frame=CGRectMake(0, 0, 375, 667); tabBarView1.frame=CGRectMake(0, 667, 375, 49); }
在ViewController1.m中:
//增加一个viewDidAppear,把下移的tabBar再上移,相当于还原到原地 -(void)viewDidAppear:(BOOL)animated{ NSArray *arr2=self.tabBarController.view.subviews; UITabBar *tabBarView2=[arr2 objectAtIndex:1]; tabBarView2.frame=CGRectMake(0, 618, 375, 49); }
好吧,目前知道就是这些了,欢迎大家根据自己的需求,挑选合适的方法.
相关文章推荐
- 详谈隐藏Tabbar的几种方法
- 隐藏文件夹的几种简单方法
- CSS隐藏网页文字的几种常用方法
- 隐藏tabbar的方法,self.hidesBottomBarWhenPushed
- 在C#隐藏启动窗口的几种方法
- 对话框隐藏的几种方法
- 在C#隐藏主窗口的几种方法
- Oracle EBS诊断方面几种情况的解决方法(诊断菜单隐藏、个性化功能报错、关于此页的显示)
- 几种隐藏批处理运行窗口的方法
- 几种隐藏文件的方法
- Iphone隐藏和显示TabBar的方法
- gridview隐藏列的几种方法
- gridview隐藏列的几种方法
- [转]隐藏文件夹的几种简单方法
- PHP伪静态隐藏传递参数名的几种方法
- 在C#隐藏主窗口的几种方法
- [转]在C#隐藏启动窗口的几种方法
- 常见的几种隐藏文件的方法
- 隐藏Tabbar的一些方法
- 几种MFC对话框的隐藏方法