uitableview contentInset 问题
Posted
技术标签:
【中文标题】uitableview contentInset 问题【英文标题】:uitableview contentInset issue 【发布时间】:2011-07-21 18:17:10 【问题描述】:我对@987654321@ 有一个奇怪的问题。我正在实现“拉取和释放”以在 UITableView 上刷新,一切正常,但在某些情况下,我想在没有用户交互的情况下显示“加载”状态。所以我想我会通过以下方式简单地使用contentInset
:
scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
对于显示的 1 或 2 个单元格,一切正常 - 视图中可能有 3 个。但是,一旦单元格数量增加,我在顶部的横幅就不会显示,同时手动滚动工作正常。除了移动内容我还需要移动滚动条吗?
【问题讨论】:
【参考方案1】:好的,所以我通过使用不同的值来找到答案。事实证明,在上述情况下,除了设置contentInset
,您还必须设置contentOffset
。在我的情况下,以下代码有效:
scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
scrollView.contentOffset = CGPointMake(0.0f, -60.0f);
【讨论】:
谢谢,这个解决方案似乎有效。此外,如果它提供有效的解决方案,请随时接受您自己的答案 未来读者的有趣笔记。 UICollectionView 会自动处理这个。 UITableVIew 没有。如果您在两个期望相等的 API 之间切换可能会非常混乱【参考方案2】:这会产生更好的结果:
CGFloat offset = scrollView.contentOffset.y;
scrollView.contentInset = UIEdgeInsetsMake(60.0f, 0.0f, 0.0f, 0.0f);
scrollView.contentOffset = CGPointMake(0, offset);
【讨论】:
以上是关于uitableview contentInset 问题的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 在 contentInset 之后不滚动
ContentInsets 不适用于 UITableView
UITableView 调整 contentinset 直到第一次滚动
iOS 7 中 UITableView 的 contentInset 规则?