iOS TabeView 头视图和尾视图不滑动的实现
因项目有需求不能让section中的头尾视图滑动,顾根据网上的一些资料和自己整理的思路,已实现了不滑动效果,上代码,啥都说了,搞了2个小时都是泪。。。。
1.创建一个tableview
_mainTableView = [[UITableView alloc]initWithFrame:CGRectMake(, , kScreenWidth, kScreenHeight - ) style:UITableViewStylePlain];//带导航栏-64
_mainTableView.backgroundColor = [UIColor clearColor];
_mainTableView.dataSource = self;
_mainTableView.delegate = self;
_mainTableView.sectionHeaderHeight = ;//headView高
_mainTableView.sectionFooterHeight = ;//footerView高
_mainTableView.contentInset = UIEdgeInsetsMake(, , -, );//加载的时候需要底部视图
2. 实现scrollView代理协议
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
static CGFloat offsetCount = ;
CGFloat sectionHeaderHeight = ;//设置headView和footerView的最大值
CGFloat sectionFooterHeight = ;//设置headView和footerView的最大值
NSLog(@"%f",scrollView.contentOffset.y); if (scrollView.contentOffset.y<sectionHeaderHeight&&scrollView.contentOffset.y>=) {//headerView刚开始的滑动
if (offsetCount >= scrollView.contentOffset.y) {
[scrollView setContentOffset:CGPointMake(, ) animated:YES];
//scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, -sectionFooterHeight, 0);
}else{ scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, , -sectionFooterHeight, );
}
}
else if (scrollView.contentOffset.y>=sectionHeaderHeight && scrollView.contentOffset.y + sectionFooterHeight < scrollView.contentSize.height - scrollView.frame.size.height&&scrollView.contentOffset.y>=) {//中间的滑动
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, , -sectionFooterHeight, ); }else if(scrollView.contentOffset.y + sectionFooterHeight >= scrollView.contentSize.height - scrollView.frame.size.height && scrollView.contentOffset.y < scrollView.contentSize.height - scrollView.frame.size.height&&scrollView.contentOffset.y>=){//footerView结束的时候的滑动
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, ,-(scrollView.contentSize.height - scrollView.frame.size.height - scrollView.contentOffset.y) , );
}
offsetCount = scrollView.contentOffset.y;
}
iOS TabeView 头视图和尾视图不滑动的实现的更多相关文章
- UICollectionview的头视图和尾视图
UITableView有头视图和尾视图,那么UICollectionView有没有头视图和尾视图呢? 答案是有的. 1.新建一个类,必须继承自 UICollectionReusableView. 2. ...
- Swift自定义头视图和尾视图
var data: [[String]]! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup a ...
- iOS之UITableView组头组尾视图/标题悬停
最近笔者在公司的iOS开发中,有一个iOS开发同事跑来问了两个问题:1.给UITableView设置了组头和组尾视图,但是一直显示不出来?2.UITableView的section的header和fo ...
- IOS开发中UITableView(表视图)的滚动优化及自定义Cell
IOS开发中UITableView(表视图)的滚动优化及自定义Cell IOS 开发中UITableView是非常常用的一个控件,我们平时在手机上看到的联系人列表,微信好友列表等都是通过UITable ...
- iOS系列 基础篇 04 探究视图生命周期
iOS系列 基础篇 04 探究视图生命周期 视图是应用的一个重要的组成部份,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 以视图的四种状态为基础,我们来系统了解一下视 ...
- iOS企业级开发初级课程-表视图(13集)
首先了解了表视图的组成.表视图类的构成.表视图的分类以及表视图的两个重要协议(委托协议和数据源协议),对表视图有了一个整体上的认识.接下来我们掌握了如何实现简单表视图和分节表视图,以及表视图中索引.搜 ...
- 学习方法和阶段介绍 、 iOS界面开发引入 、 构造第一个App 、 视图控制器和视图 、 控件与事件 、 InterfaceBuilder
1 创建并运行第一个App 1.1 问题 使用Xcode创建一个App项目,该应用实现功能在界面上显示Hello World标签,在模拟器中的运行结果如图-1所示: 图-1 1.2 方案 分析图-1, ...
- Xamarin iOS教程之添加和定制视图
Xamarin iOS教程之添加和定制视图 Xamarin iOS用户界面——视图 在iPhone或者iPad中,用户看到的摸到的都是视图.视图是用户界面的重要组成元素.例如,想要让用户实现文本输入时 ...
- iOS - UICollectionView 瀑布流 添加表头视图的坑
UICollectionView 瀑布流 添加表头视图的坑 首先是,需求加了个头视图在顶部,在collectionView中的头视图跟TableView的不一样,TableView的表头只要设置tab ...
随机推荐
- 自创yum源
这里我们用U盘装完系统以后,我们要是使用yum命令的话,我们是装不上包的 这个时候我们装系统的时候 [root@kz-002 Packages]# df -h Filesystem Size Used ...
- .net项目在linux平台的CI流程(基于Jenkins+mono+jexus)
内容较多,主要分为以下4方面内容: Jenkins的安装部署(centos 7+) .net在linux平台CI流程所需的插件管理&配置 Jenkins配置连接Gitlab(也可使用对应插件连 ...
- Internet Download Manager 6.27.1 中文特别版(IDM)
软件介绍: 软件名称:Internet Download Manager(IDM) 软件大小:5.09M软件语言:简体中文 软件官网:http://www.internetdownloadmanage ...
- 【BZOJ-1570】BlueMary的旅行 分层建图 + 最大流
1570: [JSOI2008]Blue Mary的旅行 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 388 Solved: 212[Submit ...
- Win7上安装Linux双系统
今天帮同学在Win7上安装Linux,感觉一篇教程很不错,mark一下 原地址:Win7下U盘安装Ubuntu14.04双系统步骤详解 一.前期准备 1.大于2G的U盘一个(我的系统盘制作完成后大约占 ...
- Eclipse Maven3新建web项目
环境: Eclipse Neon JDK1.8 先决条件: 本机下载apache-tomcat-8,解压,在Eclipse->preferences->server里配置安装目录.并在ec ...
- Microsoft SQL Server 2008 R2官方中文版(SQL2008下载).rar
Microsoft SQL Server 2008 R2官方中文版(SQL2008下载).rar
- WinPcap4.13无法安装解决方法
360软件管家提示把WinPcap更新至版本:4.1.0.2980,于是把旧版下载后,可新版本怎么也无法顺利安装,出现以下信息,旧版本已安装,关闭所有winpcap-based应用程序和再次运行安装程 ...
- [Head First设计模式]身边的设计模式——适配器模式
系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式— ...
- Python_DB_Api
python DB API 内容 建立连接connection 数据库交互对象cursor 数据库异常类exception 流程 创建connection 获取cursor 执行查询.执行命令.获取数 ...