ios 动画 隐藏tabbar_UITabBarViewController 的底部 tabBar 隐藏
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 隐藏相关推荐
- ios 动画 隐藏tabbar_iOS_自定义转场TabBar的隐藏动画
摘要 实现同iOS 11 App Store Today相似的转场效果.本文尝试解决转场(Transition)过程中TabBar的隐藏(向下滑出屏幕). tabbar_ani_slow.gif 遇到 ...
- iOS 隐藏tabbar会导致底部tabbar的位置的空间不能被点击响应
iOS 隐藏tabbar会出现空白,不能被其他view使用问题 在viewcontroller 里面隐藏tabbar时会导致底部tabbar的位置的空间不能被点击响应的问题,问题的原因是viewcon ...
- 12如何隐藏dock栏_一键隐藏 iPhone 刘海和底部 Dock 栏,简洁又好看
技能: 隐藏刘海和底部dock 栏 难度系数:2颗星 适用系统:iOS 13(部分非iOS13也适用) 最近,小雷打开手机,看到最多的关键词,就是:iOS13又双叒叕更新了... 而且也看到不止一位网 ...
- iphone11右上角信号显示_原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密...
原标题:原来,iOS 11移动信号图标里竟然隐藏着 iPhone 8的巨大秘密 在 iOS 11 中有一个不起眼的改变,那就是 iOS 11的移动信号强度图标由以前 iOS 10 的圆点改成了原始的阶 ...
- android+4.4.2+隐藏虚拟按钮,Android 4.4.2 横屏应用隐藏状态栏和底部虚拟键的方法...
//去title requestWindowFeature(Window.FEATURE_NO_TITLE); //隐藏状态栏 getWindow().setFlags(WindowManager.L ...
- android popupwindow边框阴影,android PopupWindow 阴影背景 、动画 、点击显示、隐藏
阴影背景 bg_shadow_white.xml 入动画 pop_enter_anim.xml 出动画 pop_exit_anim.xml 动画 样式 点击显示.隐藏 final PopupWindo ...
- iOS动画效果、绘制图形
文章转载自:http://www.cnblogs.com/kenshincui/p/3972100.html 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥 ...
- CALayer与iOS动画 讲解及使用
iOS CALayer与iOS动画 讲解及使用 关于CoreAnimation 初识CALayer CALayer CAAnimation CAMediaTiming UIView与CALayer动画 ...
- IOS动画教程(一)
从今天开始,hutuni的博客会不断的更新IOS动画相关的教程,希望大家支持指正错误!废话少说直接上代码和效果. 1.先把整个代码放出来,然后再详细的讲解一下吧. #import "RBSt ...
最新文章
- 【每日一题】剑指 Offer 10- I. 斐波那契数列
- 推荐 xiaotie 的开源GIS专题文章索引
- 三问JavaBean
- 【量化交易】组合优化三部曲:换手率和alpha模型换手约束下的最优模型时变IC下的多空/多头最优组合换手率
- IOS 设备信息读取
- java.util.prefs.Preferences
- java sonar教程_SonarQube配置与使用教程.PDF
- 谋而后动:解读数仓计划生成中行数估算和路径生成的奥秘
- shell 脚本传参
- ajax提交数据遇到400异常,原因及解决方案
- javaweb实训第三天上午——Servlet
- Linux下C线程池的实现
- java main函数_Java经典面试题集锦
- 分享:尝试构建轻量级架构设计工具
- Zabbix 数据清理
- Python学习:3.Python学习基础
- CUDA By Examples 0 - 准备工作
- 阿里巴巴大数据技术专家岗面试题
- RabbitMQ-官方指南-RabbitMQ配置
- 最值得看的电影,一生必看的50部电影,您看过几部影
热门文章
- Android中让Service被关闭后再重新启动
- JTable 失去焦点时取消编辑状态
- 天池幸福感的数据处理_了解幸福感与数据(第1部分)
- mysql免安装5.7.17_mysql免安装5.7.17数据库配置
- leetcode1292. 元素和小于等于阈值的正方形的最大边长(二分法+前缀和)
- 【慎思堂】之JS牛腩总结
- HTML5新特性之Mutation Observer
- 转 IDEA 解决代码提示功能消失
- 20145315 《信息安全系统设计基础》第14周学习总结
- API的非向后兼容性无论如何通常代表着一种比较差的设计