简单实现Tabbar的隐藏显示动画

Hide Tabbar Controller with Animation

- (void)setTabBarVisible:(BOOL)visible animated:(BOOL)animated {
// bail if the current state matches the desired state
if ([self tabBarIsVisible] == visible) return; // get a frame calculation ready
CGRect frame = self.tabBarController.tabBar.frame;
CGFloat height = frame.size.height;
CGFloat offsetY = (visible)? -height : height; // zero duration means no animation
CGFloat duration = (animated)? 0.3 : 0.0; [UIView animateWithDuration:duration animations:^{
self.tabBarController.tabBar.frame = CGRectOffset(frame, 0, offsetY);
}];
}

判断tabBar当前状态

// know the current state
- (BOOL)tabBarIsVisible {
return self.tabBarController.tabBar.frame.origin.y < CGRectGetMaxY(self.view.frame);
}

//调用

- (void)buttonClick{
[self setTabBarVisible:![self tabBarIsVisible] animated:YES];
}

Stackoverflow

 

最新文章

  1. JS 中 Array.slice() 和 Array.splice()方法
  2. CURL常用命令
  3. js之数据类型
  4. python 学习笔记7(装饰器)
  5. iOS之04-方法的声明和实现
  6. C# 零散知识 扩展方法 类型约束
  7. linux dd命令实用详解
  8. C基础 那些年用过的奇巧淫技
  9. 简单易懂的现代魔法&mdash;&mdash;Play Framework攻略3
  10. [Android] 文件夹下文件的个数限制
  11. How to Make Fibonacci Confusing
  12. [ZOJ 4020] Traffic Light
  13. awk 中的难懂符号解释
  14. c语言——单链表分拆——头插法创建链表,尾插法生成链表
  15. IDEA环境下GIT操作浅析之一Idea下仓库初始化与文件提交涉及到的基本命令
  16. fuel6.0安装部署
  17. Java数据类型转换规则
  18. 在Vue中关闭Eslint 的方法
  19. bootstrapTable--4.删除和批量删除
  20. C#正则表达式类Match和Group类的理解

热门文章

  1. ProtoBuf3语法指南(Protocol Buffers)_上
  2. MongoDB分片集群搭建及扩容
  3. mongdb分片
  4. CSS基础 CSS的三大特性以及选择器优先级计算方法
  5. django中的时区问题
  6. vue - 指令创建 vue工程
  7. Bash 取字符串的最后 N 个字符 - ${str:0-N:LENGTH}
  8. 华为云 Kubernetes 管理员实训 三 课后作业
  9. windows更改pip源(可用)
  10. Android中添加监听回调接口的方法