文档章节

iOS8下UITableView的contentsize自动变化问题

yoyoso
 yoyoso
发布于 2015/03/07 17:56
字数 449
阅读 6932
收藏 1

        遇到一个问题,一个页面中有一个UITableView,在iOS8中点击里面的图片或者链接push到下一个页面再返回时,TableView的底部就被遮盖在屏幕底部了,只有滑动到底部的瞬间能看到。而iOS7系统上就无此问题。

        简单的定位了一下,是在返回的时候UITableView的contentsize自动变小了,初次接触到此问题,觉得颇为离奇,因为在返回后代码对contentsize没做任何修改。那么,就是系统自动对contentsize修改了?

        搜索到了这篇文章:(iOS)关于UITableView设置contentsize,大概知道原因了,UITableView的contentsize一般都是自动计算的,就算你修改了之后总会在某个时机会重新自动计算,大概返回的时候就触发了这个自动计算。

        看了一下前人的代码,的确有人为设置contentsize的地方,那么,现在就好办了,避免人为设置就行了。之所以需要设置contentsize是因为在TableView的顶部增加了一个自定义的View,这个view是通过tableview addsubview添加进去的并且进行了setContentInset。而TableView在自动计算contentsize时是不会把这个自定义View计算进去的。

        想起tableview有一个tableheaderview属性,我通过这个属性添加自定义View,就无需自己计算contentSize了,问题得到解决。

© 著作权归作者所有

共有 人打赏支持
yoyoso
粉丝 49
博文 129
码字总数 45109
作品 0
南京
高级程序员
私信 提问
加载中

评论(1)

碧野MAX
碧野MAX
我现在就是有一个自定义View设置成了TableView的headerView,但是我自定义view里边有几个按钮点击之后会展开,所以每次点击我都要用Autolayout重算一次高度然后重设TableView的headerview,结果就是每次点击展开之后TableView的contentSize的y就会+1,而且是累加的,点击一次就加1,很费解,不知道什么原因
优化UITableViewCell高度计算的那些事

我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化的一个总结。 我们也在维护一个开源的扩展,UITableView+FDTemplateLayoutCel...

SunGiantor
2015/05/21
0
2
contentsize contentoffset contentInset的区别

contentSize是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍。 contentOffset是scrollv...

潘康醒
2012/12/03
0
0
iOS UITableView代理方法详解

iOS UITableView的代理方法详解 一、补充 在上一篇博客中,http://my.oschina.net/u/2340880/blog/404605,我将IOS中tableView(表视图)的一些常用方法总结了一下,这篇将tableView的代理方法...

珲少
2015/04/22
0
2
iOS开发tips-神奇的UITableView

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jianxin160/article/details/71436920 概述 UITableView是iOS开发中使用频率最高的UI控件,在前面的文章中对于...

KenshinCui
2017/05/08
0
0
关于UITableView你知道多少——UITableView简单解析

转自萧宸宇的博客 UITableView是在iOS开发中,展示大量内容的首选。我个人认为的原因有以下几点: 1.UITableView的展现形式是为移动设备专门设计过的。有较好的人机交互体验。 2.从技术角度来...

浪子艾菲儿
2013/08/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
4
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部