html表格全屏显示,tableView滑动全屏显示

今天要分享的一个效果是在一个页面弹出视图展示一个tableview,然后手指滑动tableview时,视图随着tableview偏移量增加而慢慢增加,到达临界时,全屏显示,然后再次向下滑动时,当偏移量到达临界点,视图逐渐缩小,最终恢复正常大小,页面效果可以参考高德导航界面。

这里贴上效果图

这是高德导航的效果

8d907d3557e6

2DB81CA4986551A919D73A39C5303500.png

8d907d3557e6

208F6135CA04A1942510F569FFECD843.png

我们实现的效果

8d907d3557e6

51854156044B1B06EA213DFE9034E90F.png

8d907d3557e6

8DA4ADD53A6CEC99E1394C516DCCBBA3.jpg

8d907d3557e6

5009C1C6540087365188D3114C841E31.jpg

现在我们开始实现这个效果。

要实现这个效果我们最容易想到的就是给tableview的偏移量进行监听。

[self.tableView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];

然后实现监听的方法

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

{

if ([keyPath isEqualToString:@"contentOffset"])

{

CGPoint offset = [change[NSKeyValueChangeNewKey] CGPointValue];

NSLog(@"offset:%f",offset.y);

if (offset.y < KDeviceHeight/3-20) {

if (offset.y+_tableView.height <= _tableView.contentSize.height) {

[self.upButton setImage:[UIImage imageNamed:@"house_icon_up"] forState:UIControlStateNormal];

CGRect rect = self.frame;

rect.origin.y = KDeviceHeight/3-offset.y;

rect.size.height = KDeviceHeight/3*2+offset.y;

self.frame = rect;

CGRect rec1 = self.tableView.frame;

rec1.size.height = KDeviceHeight/3*2+offset.y-44;

self.tableView.frame = rec1;

}

}else if(offset.y >= KDeviceHeight/3-20 && offset.y <= KDeviceHeight){

self.frame = CGRectMake(0,20, KDeviceWidth, KDeviceHeight-20);

self.tableView.frame = CGRectMake(0, 44, KDeviceWidth, self.height-44);

[self.upButton setImage:[UIImage imageNamed:@"house_icon_down"] forState:UIControlStateNormal];

}

else{

return;

}

}

}

这个效果应该是挺简单的一个效果,实现起来也并不复杂。

这样就基本实现了这效果。

tips:

这里再讲一下,做这个效果遇到的坑。

1、

if (offset.y+_tableView.height <= _tableView.contentSize.height)

这个判断的作用:是为了在tableview滑动距离不够的时候,不使它滑动,如果不做这个判断,会导致的问题是:数据量少,tableview可滑动的高度不够,在执行滑动方式是会导致剧烈的上下抖动,非常影响体验。做这个判断就是为了消除这个影响,在它的contentSize足够的时候才使他滑动。

2、

else if(offset.y >= KDeviceHeight/3-20 && offset.y <= KDeviceHeight){

self.frame = CGRectMake(0,20, KDeviceWidth, KDeviceHeight-20);

self.tableView.frame = CGRectMake(0, 44, KDeviceWidth, self.height-44);

[self.upButton setImage:[UIImage imageNamed:@"house_icon_down"] forState:UIControlStateNormal];

}

else{

return;

}

这个部分的作用是:

else if(offset.y >= KDeviceHeight/3-20 && offset.y <= KDeviceHeight)

这个判断是当tableview滑动到达临界点是全屏,不再滑动。本来代码到这里就结束了,后来给产品测试的时候发现个问题,就是当tableview数据量特别多的时候,快速滑动时有可能滑动不流畅甚至会卡住不懂的情况。为了解决这个bug,我的做法是让滑动超过某个值(这个值随意只要大于临界值就可以),tableview全屏后就不再执行监听偏移的方法了,给他return掉。这里我也不是特别明白为什么会出现这个问题,也希望有人给我解答下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【 CodeForces - 864B】Polycarp and Letters(水题,字符串,有坑)

题干&#xff1a; Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string sconsisting only of lowercase and uppercase Latin letters. Let A be a set of positions in the string. Lets call it pretty if following conditions are met:…

计算机网络65535,计算机网络1

1.网络基础&#xff1a;1.1 IT行业铁三角&#xff1a;os&#xff0c;web&#xff0c;sql 不管是哪个IT岗位都应该懂&#xff0c;1.2 开发铁三角&#xff1a;语言&#xff0c;数据结构算法&#xff0c;数据模式1.3 测试铁三角&#xff1a;需求&#xff0c;搭环境和设计用例&…

【CodeForces - 864C】Bus (模拟,有坑)

题干&#xff1a; A bus moves along the coordinate line Ox from the point x  0 to the point x  a. After starting from the point x  0, it reaches the point x  a, immediately turns back and then moves to the point x  0. After returning to the point…

大量html乱码seo,HTTPS改造之后网页错位乱码,影响SEO和正常访问,应该这样改

有一些朋友可能不太知道https改造怎么做&#xff0c;就学着网站的步骤进行&#xff0c;实际操作过程中可能会遇到很多问题。比如说有的会出现网页错位、页面乱码、后台功能无法使用的情况。昨天我们就有一个客户他自己做了https改造&#xff0c;但是造成后台无法上传图片的情况…

【NOIP2013积木大赛,NOIP2018铺设道路】积木大赛(思维,贪心)

题干&#xff1a; 题目描述 春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为nn的大厦&#xff0c;大厦可以看成由n块宽度为1的积木组成&#xff0c;第i块积木的最终高度需要是h_ihi​。 在搭建开始之前&#xff0c;没有任何积木&#xff08;可以看…

微型计算机中最小的单位,微型计算机中最小的数据单位是

微型计算机中最小的数据单位是比特。微型计算机&#xff0c;是指由微处理器作为CPU的计算机。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储片、输入和输出片、系统总线等组成。特点是体积小、灵活性大、价格便宜、使用方便。这类计算机的普遍特征就是…

【每日算法】【图论】【最小边覆盖 最小路径覆盖 最小顶点覆盖 最大独立集 最大团】

最小边覆盖 最大独立集 |V| - 最大匹配数 这个是在原图是二分图上进行的 最小路径覆盖和最小边覆盖不同&#xff0c;不要求给的图是二分图&#xff0c;而是要求是N x N的有向图&#xff0c;不能有环&#xff0c;然后根据原图构造二分图&#xff0c;构造方法是将点一分为二&am…

【51Nod - 1344】走格子 (思维)

题干&#xff1a; 有编号1-n的n个格子&#xff0c;机器人从1号格子顺序向后走&#xff0c;一直走到n号格子&#xff0c;并需要从n号格子走出去。机器人有一个初始能量&#xff0c;每个格子对应一个整数Aii&#xff0c;表示这个格子的能量值。如果Aii > 0&#xff0c;机器人…

计算机算法在生物信息学中的应用,计算机算法在生物信息学中的应用综述.doc...

计算机算法在生物信息学中的应用综述摘 要&#xff1a;在人类基因组计划的推动下&#xff0c;生物信息学得到了人们的广泛关注&#xff0c;并呈现出数量多、计算量大等鲜明特征&#xff0c;因此要求在生物信息学中采用计算机算法&#xff0c;以提高生物信息学处理问题的效率。以…

信息学竞赛计算机基础知识,信息学奥赛-计算机基础知识.doc

信息学奥赛-计算机基础知识TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc303947525" 第一章 计算机基础知识 PAGEREF _Toc303947525 \h 2HYPERLINK \l "_Toc303947526" 第一节 数制及其转换 PAGEREF _Toc303947526 \h 2HYPERLINK \l "_Toc3039…

【51Nod - 1182】完美字符串(贪心,字符串)

题干&#xff1a; 约翰认为字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配&#xff0c;不同字母的完美度不同&#xff0c;分别对应一个1-26之间的整数。 约翰不在乎字母大小写&#xff08;也就是说字母A和a的完美度相同&#xff09;。给定一…

【51Nod - 1133】不重叠的线段 (贪心)

题干&#xff1a; X轴上有N条线段&#xff0c;每条线段有1个起点S和终点E。最多能够选出多少条互不重叠的线段。&#xff08;注&#xff1a;起点或终点重叠&#xff0c;不算重叠&#xff09;。 例如&#xff1a;151523233636&#xff0c;可以选23233636&#xff0c;这2条线段…

xml html 转化为字符串,XSLT:将字符串解析为XML节点集(concret:将HTML-String转换为节点集)?...

我面临的问题是我在XML中有一个字符串的节点&#xff0c;代表HTML。 我需要削减该字符串&#xff0c;但是&#xff0c;当然&#xff0c;这可能导致在invalide HTML的标记(例如&#xff0c;如果我切字符串总是后30个字符我很容易失去闭元件等等)。 怎么办&#xff1f; 这似乎是非…

【51Nod - 1106 】质数检测 (水题,数论)

题干&#xff1a; 给出N个正整数&#xff0c;检测每个数是否为质数。如果是&#xff0c;输出"Yes"&#xff0c;否则输出"No"。 Input 第1行&#xff1a;一个数N&#xff0c;表示正整数的数量。(1 < N < 1000) 第2 - N 1行&#xff1a;每行1个数…

华中科技大学计算机系统结构,华中科技大学计算机系统结构复习题.pdf

Advanced Computer Architecture高级计算机系统结构 (复习题)-考试时间&#xff1a;1月20号下午根据曹强老师的写的&#xff0c;不知道会不会有错误&#xff0c;祝大家好成绩——by刘梦博By刘梦博Amdahl’s Law Fractionenhanced  ExTimenew  ExTimeold  1 Fract…

琴生不等式一般形式_001.二次函数、方程和不等式知识点

学法指导&#xff1a;本专题讲授不等式内容&#xff0c;这部分内容是学生的难点&#xff0c;为此有几点说明&#xff1a;1.把握好学习的难度。按教材内不等式部分展现的内容看&#xff0c;它很简单&#xff0c;但学过的知道&#xff0c;这部分内容很难&#xff0c;直白的讲&…

【51Nod - 1432】独木舟 (贪心,思维,好题)

题干&#xff1a; n个人&#xff0c;已知每个人体重。独木舟承重固定&#xff0c;每只独木舟最多坐两个人&#xff0c;可以坐一个人或者两个人。显然要求总重量不超过独木舟承重&#xff0c;假设每个人体重也不超过独木舟承重&#xff0c;问最少需要几只独木舟&#xff1f; …

计算机组成西电裘答案,西电计算机组成原理.ppt

西电计算机组成原理.ppt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * 指令类型 指令的典型分类&#xff1a; 数据传送类 算术运算类 逻辑运算类 移位类 字符串操作类 数据转换类 输入/输出类 程序控制类 系统控制类 * 指令类型——数据传送类 完成源操作数与目的…

d3设置line长度_万物皆可Embedding之LINE算法解读

需要论文的朋友可以后台私信我获取前言上一篇文章给大家带来了Graph Embedding技术中的代表算法Deepwalk&#xff0c;今天给大家介绍graph embedding又一代表算法——LINE,LINE(large-scale information Network&#xff0c;大规模信息网络)致力于将大型的信息网络嵌入到低维的…

专转本计算机第一章试题,江苏专转本 计算机第一章自测题(含答案).doc

《江苏专转本 计算机第一章自测题(含答案).doc》由会员分享&#xff0c;提供在线免费全文阅读可下载&#xff0c;此文档格式为doc&#xff0c;更多相关《江苏专转本 计算机第一章自测题(含答案).doc》文档请在天天文库搜索。1、&#xfeff;第一章补充习题一、判断题&#xff1…