動畫隱藏tabbar(必須放在對應控制器里)
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO animated:NO];
[self hiddenTabbar];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[self showTabbar];
}
//動畫影藏tabbar
-(void)hiddenTabbar{
//增加一個試圖即將出現時的方法,并在此設置把tabBar下移,移除整個屏幕,相當于消失了
NSArray *arr1=self.tabBarController.view.subviews;
UITabBar *tabBarView1=[arr1 objectAtIndex:1];
//第一個視圖就是全屏,不需要把高度撐滿,所以可以不做任何設置
[UIView animateWithDuration:0.5 animations:^{
tabBarView1.frame=CGRectMake(0, SCREEN_HEIGHT, SCREEN_WIDTH, 49);
}];
}
//動畫展示tabbar
-(void)showTabbar{
//增加一個viewDidAppear,把下移的tabBar再上移,相當于還原到原地
[UIView animateWithDuration:0.5 animations:^{
NSArray *arr2=self.tabBarController.view.subviews;
UITabBar *tabBarView2=[arr2 objectAtIndex:1];
tabBarView2.frame=CGRectMake(0, SCREEN_HEIGHT-49, SCREEN_WIDTH, 49);
}];
}