iOS11后UIScrollView的contentOffset

2018-05-03  本文已影响0人  Freedow

当前在做的一个项目需要监听tableView滚动的方向,需要用到TableView的contentOffset.Y属性(Cell高度皆为130)。

但当我在tableView上拉刷新后添加了新的Item,向上滚动发现在iOS11之后,每当需要刷新一个新的Cell,scrollView的contentOffsetY总会出现波动。详细如图

遇到新的Cell后出现位置Y波动(向上滑动)

最后发现原来iOS11之后系统会默认当前Cell以上的所有Cell高度都为44,从而计算当前scrollView所在的位置。所以需要另外添加以下代码

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath { return 130;}

既能告诉系统所有Cell的固定高度,滚动方向监听正常问题解决。

上一篇 下一篇

猜你喜欢

热点阅读