ios,scrollview 或 tableview中实现上滚隐藏tabbar,下滚出现tabbar
来源:互联网 发布:南华大学船山学院 知乎 编辑:程序博客网 时间:2024/06/05 06:19
重载delegate方法:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
static float mark1 = 0; //静态变量,记录contentOffset上次的位置
float offY = scrollView.contentOffset.y; //本次contentOffset的位置
if (offY > mark1) { //offY > mark1 表示现在是下滚状态
if (offY > 0) { // 这个判断很关键,不信去掉试试
[self hideTabBar:YES]; //隐藏tabbar
}
}
else //offY < mark1 表示现在是上滚状态
{
if (offY < scrollView.contentSize.height - scrollView.frame.size.height) { // 这个判断很关键,不信去掉试试
[self hideTabBar:NO]; //不隐藏tabbar
}
}
mark1 = offY; ///静态变量记录contentOffset本次的位置
}
- (void) hideTabBar:(BOOL) hidden{ //自写方法用于隐藏tabbar
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3]; //设置隐藏和非隐藏的时间间隔
for(UIView *view in self.tabBarController.view.subviews)
{
if([view isKindOfClass:[UITabBar class]] )
{
if (hidden) {
[view setFrame:CGRectMake(view.frame.origin.x, iphone5?568:480, view.frame.size.width, view.frame.size.height)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, iphone5?568-49:480-49, view.frame.size.width, view.frame.size.height)];
}
}
else
{
if (hidden) {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, iphone5?568:480)];
} else {
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, iphone5?568-49:480-49)];
}
}
}
[UIView commitAnimations];
}
思路出来了,方法就很简单,大家都容易看懂,就不说了,有不懂的请在下面回复。
【原创文章,欢迎转载,转载请注明出处,谢谢!】
- ios,scrollview 或 tableview中实现上滚隐藏tabbar,下滚出现tabbar
- 滚粗汉堡菜单,上滑隐藏 下滑出现的 tabbar
- ios 隐藏tabbar实现
- iOS tableView滑动隐藏/显示tabbar
- ios 隐藏tabbar轻松实现
- iOS Push隐藏底部tabBar,Pop出现tabBar
- 根据scrollview滚动来隐藏或显示navigation/tabbar
- ios如何隐藏TabBar?
- Ios---隐藏tabbar
- iOS如何隐藏TabBar
- iOS如何隐藏TabBar
- iOS如何隐藏TabBar
- IOS隐藏Tabbar
- ios tabbar隐藏
- IOS隐藏tabbar
- iOS 自定义tabbar上文字出现重影
- iOS中跳转控制器隐藏底部tabBar
- tabbar 在iOS 11中隐藏问题
- 实现智能指针有两种经典策略:一是引入辅助类,二是使用句柄类。
- C++ 函数指针及指向函数说明
- 提高VS2010运行速度的技巧
- POSIX标准总体分析
- jsp,xml自动提示
- ios,scrollview 或 tableview中实现上滚隐藏tabbar,下滚出现tabbar
- 新时代下编译老古董之win7编译eclipse3.2
- sharepoint入门
- java 中的 class path, package, jar 等基本问题
- BitmapFactory.decodeStream 返回值为null的问题
- 使用ViewSwitcher实现ListView的数据动态加载[学习]
- KMP算法详解(精华)
- 重建二叉树(1)
- android NDK 开发实例