美文网首页
iOS UITableView 滚动后弹回最上面

iOS UITableView 滚动后弹回最上面

作者: 想想8606 | 来源:发表于2017-09-29 15:23 被阅读0次

今天遇到一个问题,tableView往上滚,下面的cell可以显示出来,但是当我手指放掉的时候,tableView就又自己回到了最顶部,视觉上就是弹回去了。

心里大概知道是tableView的高度出了问题,于是去检查,发现:

tableView的高度写的是:( cell.height + footer.height ) * _dataArray.count - footer.height.

//header的高度是CGFloatMin;

咋一看,没毛病啊!

UITabelView继承于UIScrollView,想要滚动,则必须tableView的高度 < contenSize.

tableView的contenSize不需要我们去设置,它会自动计算,一般是等于( cell.height + footer.height + header.height ) * _dataArray.count .

有个比较讨巧的办法是设置tableView的高度 = 屏幕的高度 - nav.height - tabbar.height ; 

这样,tableView的高度 就是小于 contenSize的,就可以滚动啦。

当然,上面讲的这种解决办法的前提是tableView占满整个屏幕了,还得往下滚,不是只有3  4 行那种只占半个屏幕的。

相关文章

网友评论

      本文标题:iOS UITableView 滚动后弹回最上面

      本文链接:https://www.haomeiwen.com/subject/abuiextx.html