iOS隐藏 tarBar多种方法

 

第一种方法是:

  // 隐藏 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);
}

 

转载于:https://my.oschina.net/5951008876/blog/777697

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值