iOS之UITabBarController与UINavigationController的动画隐藏
2015-01-22 15:54
501 查看
转载自:http://www.cnblogs.com/YouXianMing/p/3829085.html
效果图:
源码:
AppDelegate.m
RootViewController.m
核心的地方:
效果图:
源码:
AppDelegate.m
// // AppDelegate.m // HideTabbar // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "AppDelegate.h" #import "RootViewController.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. UITabBarController *tab = [[UITabBarController alloc] init]; tab.viewControllers = @[[RootViewController new]]; UITabBar *tabBar = tab.tabBar; UITabBarItem *tabBarItem = [tabBar.items objectAtIndex:0]; tabBarItem.title = @"YouXianMing"; NSDictionary *textDic = \ @{NSFontAttributeName: [UIFont fontWithName:@"HelveticaNeue-Thin" size:20.f]}; [tabBarItem setTitlePositionAdjustment:UIOffsetMake(0, -12.f)]; [tabBarItem setTitleTextAttributes:textDic forState:UIControlStateNormal]; UINavigationController *NC = \ [[UINavigationController alloc] initWithRootViewController:tab]; self.window.rootViewController = NC; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES; } @end
RootViewController.m
// // RootViewController.m // HideTabbar // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" @interface RootViewController () @property (nonatomic, assign) BOOL flag; @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.layer.contents = (__bridge id)([UIImage imageNamed:@"back"].CGImage); // 添加手势 UITapGestureRecognizer *tap = \ [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(event:)]; [self.view addGestureRecognizer:tap]; } - (void)event:(UITapGestureRecognizer *)tap { if (!_flag) { [self hideTabBar:self.tabBarController]; } else { [self showTabBar:self.tabBarController]; } _flag = !_flag; } - (void)hideTabBar:(UITabBarController *)tabbarcontroller { // 隐藏导航栏 [self.navigationController setNavigationBarHidden:YES animated:YES]; // 隐藏tabbar [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{ for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y + 50, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height + 50)]; } } }]; } - (void)showTabBar:(UITabBarController *)tabbarcontroller { // 显示导航栏 [self.navigationController setNavigationBarHidden:NO animated:YES]; // 显示tabbar [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{ for(UIView *view in tabbarcontroller.view.subviews) { if([view isKindOfClass:[UITabBar class]]) { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y - 50, view.frame.size.width, view.frame.size.height)]; } else { [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, view.frame.size.height - 50)]; } } }]; } @end
核心的地方:
相关文章推荐
- iOS 隐藏tabBar UITabBarController 以及 于UINavigationController 配合使用 push
- iphone ios UITabBarController 切换动画
- ios更改UITabBarController背景以及选中背景图片的方法 以及隐藏tabbar
- ios UITabBarController 切换动画
- IOS研究之UITabBarController隐藏tabBar以及addChildViewController
- iOS 关于自定义转场动画,以UITabBarController为例
- 动画隐藏UITabBarController与UINavigationController
- iphone ios UITabBarController 切换动画
- ios navigationcontroller 使用,以及自定义动画切换特效CATransi...
- ios:UITabBarController 修改背景图,修改选中时背景色
- iOS应用之UITabBarController
- UITabBarController 标签栏控制器-IOS开发 (实例)
- 【iOS开发】---- UITabBarController的使用详解
- IOS学习之第二个View使用UITabBarViewController
- 关于ios中UIBarButtonItem 自定义 ,UITabBarControll 的隐藏
- UINavigationController点击事件控制隐藏与显示(UITabBarController也同样适用)
- iOS 5 编程-应用选项卡栏控制器(UITabBarController)创建App
- UITabBarController 隐藏 Bootom Tab Bar
- UITabBarController 之 设置选中和未选中的图片 隐藏tabbar
- iOS学习之第二个View使用UITabBarViewController