一般情况下,tableview中的section是会默认随着tableview的滚动而滚动的,而是会等到属于这个section的cell滑完过后,然后往上顶(不知道大家能不能听懂=_=!)

有些时候这样显得不是很美观,而且有些项目是需要主要针对section而不是row 进行操作,所以这个时候控制section不悬停就显得很重要

这里有两种方法,直接贴代码吧

  • 第一种:
 #pragma -mark 控制section不悬停

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView

 {

     NSLog(@"%f",scrollView.contentOffset.y);

     CGFloat sectionHeaderHeight = ;

     if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=) {

         scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, , , );

     }

     else if (scrollView.contentOffset.y>=sectionHeaderHeight) {

         scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, , , );

     }

 }
  • 第二种:
 //- (void)setFrame:(CGRect)frame{

 //    CGRect sectionRect = [self.tableView rectForSection:self.section];

 //    CGRect newFrame = CGRectMake(CGRectGetMinX(frame), CGRectGetMinY(sectionRect), CGRectGetWidth(frame), CGRectGetHeight(frame)); [super setFrame:newFrame];

 //}

希望能帮助到大家!

在项目中我使用的是第一种方法

iOS 控制section不悬停 --- iOS开发系列 ---项目中成长的知识八的更多相关文章

  1. iOS dateformatter设置GMT格式时间--iOS开发系列---项目中成长的知识四

    今天在项目中开始接手客户端的签名这个模块,签名这个会在项目结束过后再单独写一下自己的心得! 今天讲讲在签名的过程中我们需要向服务器传送一个Date值,格式要求是格林威治时间,也就是GMT时间! 格式要 ...

  2. iOS UIView中的坐标转换convertPoint --- iOS开发系列 ---项目中成长的知识六

    如果你的UITableViewCell里面有一个Button需要响应事件,你会怎么做? 在Controller中使用 button父类的父类?   例如:UITableViewCell *parent ...

  3. iOS HmacSHA1加密 和 MD5 Base64加密 --iOS开发系列---项目中成长的知识五

    项目中开发中需要对一些数据进行加密后和服务器验证是否是我们客户端发出的请求! 方案是服务器定的,使用HmacSHA1加密和MD5 Base64加密 加密过程比较复杂 1.获取格林威治时间 2.用bas ...

  4. 把所有界面的状态栏字体颜色设置为白色--iOS开发系列---项目中成长的知识一

    第一步: 在info.plist中 View controller-based status bar appearance这个属性设置为 View controller-based status ba ...

  5. iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七

    不知大家有没有遇见过自己写的tableview被导航栏遮挡住的问题,反正我是遇见过! 因为在ios7以后所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的 ...

  6. 设置tableview的滚动范围--iOS开发系列---项目中成长的知识三

    设置tableview的滚动范围 有时候tableview的footerview上的内容需要向上拖动界面一定距离才能够看见, 项目中因为我需要在footerviw上添加一个按钮,而这个按钮又因为这个原 ...

  7. 当数据量很少的时候,tableview会显示多余的cell--iOS开发系列---项目中成长的知识二

    当数据量很少的时候,tableview会显示很多的cell,而且是空白的,这样很不美观 所以使用下面的方法可以去掉多余的底部的cell 原理是:设置footerView为frame 是 CGRectZ ...

  8. openresty开发系列16--lua中的控制结构if-else/repeat/for/while

    openresty开发系列16--lua中的控制结构if-else/repeat/for/while 一)条件 - 控制结构 if-else if-else 是我们熟知的一种控制结构.Lua 跟其他语 ...

  9. openresty开发系列30--openresty中使用全局缓存

    openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进 ...

随机推荐

  1. giihub上的关于js的43道题目

    参考 https://github.com/lydiahallie/javascript-questions

  2. Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt)_2

    Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version ...

  3. GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件

    Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...

  4. 09.Spring Bean 注册 - BeanDefinitionRegistry

    基本概念 BeanDefinitionRegistry ,该类的作用主要是向注册表中注册 BeanDefinition 实例,完成 注册的过程. 它的接口定义如下: public interface ...

  5. Floyed-Warshall算法(求任意两点间最短距离)

    思路:感觉有点像暴力啊,反正我是觉得很暴力,比如求d[i][j],用这个方法求的话,就直接考虑会不会经过点k(k是任意一点) ,最终求得最小值 看代码 #include<iostream> ...

  6. 27 个Jupyter Notebook的小提示与技巧

    不多说,直接上干货! 见 http://liuchengxu.org/pelican-blog/jupyter-notebook-tips.html

  7. Maven的学习资料收集--(十)Myeclipse下创建Maven的Web项目

    先要在MyEclipse中对Maven进行设置: 到此Maven对MyEclipse的支持设置完毕.   下面我们在MyEclipse中创建一个Maven标准的Web工程: New --> We ...

  8. JAVA实现向文本文件中多次写入数据

    使用这种方式,当指定的文件不存在时会自动创建. //此处设置为true即可追加 FileWriter out = new FileWriter("D:\\1.txt",true); ...

  9. iOS 收藏的笔记

    目录 UI 资料类 网络篇 图表 动画 菜单栏 数据存储和数据库 第三方库 社交分享 刷新 视频音频 其他 阅读 JS 导航 系统 支付 书籍 工具类 完整项目收集 DEMO UI http://ww ...

  10. mysql set names 命令和 mysql字符编码问题

    先看下面的执行结果: (root@localhost)[(none)]mysql>show variables like 'character%'; +--------------------- ...