NavBar与TabBar混合使用时的隐藏与显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Cubar/article/details/42871997

项目中用到TabBar作主界面框架。NavBar用在分页面中的跳转。

在跳转目的页面上,使用btn的事件,可以实现正常跳转及navBar与TabBar的正常显示与隐藏,但是NavBar上的返回按钮就不好写了。

在网上查找资料,需要使用到UINavigationControllerDelegate实现在POP后执行一些控制代码。


-(void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated{

    if([viewController isEqual:self]){

        NSLog(@"跳转到自己,显示NavBar,隐藏TabBar");

        [self.tabBarController.tabBar setHidden:YES];

        [self.navigationController setNavigationBarHidden:NO animated:NO];

        //[self.navigationController setNavigationBarHidden:YES animated:YES];

    }else{

        self.navigationController.delegate = nil;

        [viewController.tabBarController.tabBar setHidden:NO];

        [navigationController setNavigationBarHidden:YES animated:YES];

        //self.navigationController.delegate = viewController;

        NSLog(@"跳转回去,显示TabBar,隐藏NavBar");

    }

}


注意:在跳转回上级页面时,tabBar与navBar要使用参数中的对象,如果还是使用self的话将不能正确显示结果。

猜你喜欢

转载自blog.csdn.net/Cubar/article/details/42871997