uitableview contentInset问题

我有一个奇怪的问题与contentInsent 。 我正在实施“拉和释放”刷新UITableView和一切工作正常,但在某些情况下,我想显示“加载”状态没有用户交互。 所以我想我会简单地用下面的方式使用contentInset

 scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f); 

一切正常显示1或2个单元格 – 在视图中可能有3个。 但是,一旦细胞数量增长,我的横幅在顶部不会显示,同时手动滚动工作正常。 除了移动内容之外,还必须移动滚动吗?

好的,所以我通过玩一点不同的值来find答案。 在上面描述的情况下,除了设置contentInset之外,还必须设置contentOffset 。 在我的情况下,以下代码工作:

 scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f); scrollView.contentOffset = CGPointMake(0.0f, -60.0f); 

这给出了更好的结果:

 CGFloat offset = scrollView.contentOffset.y; scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f); scrollView.contentOffset = CGPointMake(0, offset);