iOS pushViewController 时候隐藏 TabBar 的可以用@interfaceUIViewController (UINavigationControllerItem)

@property(nonatomic,readonly,strong)UINavigationItem*navigationItem;// Created on-demand so that a view controller may customize its navigation appearance.

@property(nonatomic)BOOL hidesBottomBarWhenPushed __TVOS_PROHIBITED;// If YES, then when this view controller is pushed into a controller hierarchy with a bottom bar (like a tab bar), the bottom bar will slide out. Default is NO.

这是系统提供的 UINavigationViewController 的方法。你只需要在被push 的 UIViewcontroller 的初始化方法中添加这个属性就行。self.hidesBottomBarWhenPushed = YES;

这样有2个问题

1. 是做 pushViewController transition 过渡的时候,动画中会看到 tabBar 被移出去,尤其是被push 的viewController 的背景色反差很大的时候,体验很差。

2. presentViewController 的时候无法使用这个方法。

解决方法:

自己控制 UITabBarViewController 的 bottom tabBar。setFrame的方法控制。- (void)hideTabBar {

[self setTabBarHidden:YES];

}

- (void)showTabBar {

[self setTabBarHidden:NO];

|}

- (void) setTabBarHidden:(BOOL)hidden {

CGRect screenRect = [[UIScreen mainScreen] bounds];

floatfHeight = screenRect.size.height;

if(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))

fHeight = screenRect.size.width;

if(!hidden) fHeight -=self.tabBar.frame.size.height;

[UIViewanimateWithDuration:0.25 animations: ^{

for(UIView*view in self.view.subviews) {

if([view isKindOfClass:[UITabBar class]]) {

[view setFrame:CGRectMake(view.frame.origin.x, fHeight, view.frame.size.width, view.frame.size.height)];

}else{

if(hidden) [viewsetFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, fHeight)];

}

}

}completion:^(BOOLfinished) {

if(!hidden) {

[UIViewanimateWithDuration:0.25animations: ^{

for(UIView*viewinself.view.subviews) {

if(![viewisKindOfClass:[UITabBarclass]])

[viewsetFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, fHeight)];

}

}];

}

}];

}

ios 动画 隐藏tabbar_UITabBarViewController 的底部 tabBar 隐藏相关推荐

  1. ios 动画 隐藏tabbar_iOS_自定义转场TabBar的隐藏动画

    摘要 实现同iOS 11 App Store Today相似的转场效果.本文尝试解决转场(Transition)过程中TabBar的隐藏(向下滑出屏幕). tabbar_ani_slow.gif 遇到 ...

  2. iOS 隐藏tabbar会导致底部tabbar的位置的空间不能被点击响应

    iOS 隐藏tabbar会出现空白,不能被其他view使用问题 在viewcontroller 里面隐藏tabbar时会导致底部tabbar的位置的空间不能被点击响应的问题,问题的原因是viewcon ...

  3. 12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看

    技能: 隐藏刘海和底部dock 栏 难度系数:2颗星 适用系统:iOS 13(部分非iOS13也适用) 最近,小雷打开手机,看到最多的关键词,就是:iOS13又双叒叕更新了... 而且也看到不止一位网 ...

  4. iphone11右上角信号显示_原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密...

    原标题:原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密 在 iOS 11 中有一个不起眼的改变,那就是 iOS 11的移动信号强度图标由以前 iOS 10 的圆点改成了原始的阶 ...

  5. android+4.4.2+隐藏虚拟按钮,Android 4.4.2 横屏应用隐藏状态栏和底部虚拟键的方法...

    //去title requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 getWindow().setFlags(WindowManager.L ...

  6. android popupwindow边框阴影,android PopupWindow 阴影背景 、动画 、点击显示、隐藏

    阴影背景 bg_shadow_white.xml 入动画 pop_enter_anim.xml 出动画 pop_exit_anim.xml 动画 样式 点击显示.隐藏 final PopupWindo ...

  7. iOS动画效果、绘制图形

    文章转载自:http://www.cnblogs.com/kenshincui/p/3972100.html 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥 ...

  8. CALayer与iOS动画 讲解及使用

    iOS CALayer与iOS动画 讲解及使用 关于CoreAnimation 初识CALayer CALayer CAAnimation CAMediaTiming UIView与CALayer动画 ...

  9. IOS动画教程(一)

    从今天开始,hutuni的博客会不断的更新IOS动画相关的教程,希望大家支持指正错误!废话少说直接上代码和效果. 1.先把整个代码放出来,然后再详细的讲解一下吧. #import "RBSt ...

最新文章

  1. 【每日一题】剑指 Offer 10- I. 斐波那契数列
  2. 推荐 xiaotie 的开源GIS专题文章索引
  3. 三问JavaBean
  4. 【量化交易】组合优化三部曲:换手率和alpha模型换手约束下的最优模型时变IC下的多空/多头最优组合换手率
  5. IOS 设备信息读取
  6. java.util.prefs.Preferences
  7. java sonar教程_SonarQube配置与使用教程.PDF
  8. 谋而后动:解读数仓计划生成中行数估算和路径生成的奥秘
  9. shell 脚本传参
  10. ajax提交数据遇到400异常,原因及解决方案
  11. javaweb实训第三天上午——Servlet
  12. Linux下C线程池的实现
  13. java main函数_Java经典面试题集锦
  14. 分享:尝试构建轻量级架构设计工具
  15. Zabbix 数据清理
  16. Python学习:3.Python学习基础
  17. CUDA By Examples 0 - 准备工作
  18. 阿里巴巴大数据技术专家岗面试题
  19. RabbitMQ-官方指南-RabbitMQ配置
  20. 最值得看的电影,一生必看的50部电影,您看过几部影

热门文章

  1. Android中让Service被关闭后再重新启动
  2. JTable 失去焦点时取消编辑状态
  3. 天池幸福感的数据处理_了解幸福感与数据(第1部分)
  4. mysql免安装5.7.17_mysql免安装5.7.17数据库配置
  5. leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
  6. 【慎思堂】之JS牛腩总结
  7. HTML5新特性之Mutation Observer
  8. 转 IDEA 解决代码提示功能消失
  9. 20145315 《信息安全系统设计基础》第14周学习总结
  10. API的非向后兼容性无论如何通常代表着一种比较差的设计