【发布时间】:2015-10-17 20:43:33
【问题描述】:
编辑:我创建了一个非常小的应用程序,它完美地代表了这个问题。 https://drive.google.com/file/d/0B6sI4Feh1HJUb3pGa2pBUmY4QW8/view?usp=sharing
在示例应用程序中,我们只需向下滚动然后按顶部栏上的按钮即可查看我遇到的问题
我正在使用https://github.com/jamztang/CSStickyHeaderFlowLayout 在我的集合视图中具有粘性标题行为(如默认 UITableView)。
滚动浏览集合视图时效果很好。我在 collectionview 外有一个搜索栏,允许用户使用搜索文本过滤数据,每次用户输入字母时,我都会用找到的数据刷新 collectionview 的数据。
问题是,假设当前集合视图中有 4 个部分,并且它在底部完全滚动。当我输入一个特定的字母时,它会过滤掉除单个项目(带有单个标题)之外的所有内容。集合视图的内容大小随后会更改并显示正确的数据,但标题太低(请参见屏幕截图)。
我在 flowlayout 和 layoutAttributesForElementsInRect 内部进行了调查,我发现它实际上将框架的原点 Y 设置为 0(应该是这样),但似乎 collectionview 不使用这个值并使用前一个(这是收藏视图向下滚动的时候)。
知道什么会导致UICollectionView 不使用layoutAttributesForElementsInRect 中的所需框架吗?
【问题讨论】:
-
您是否在托管图像的图像视图中设置了 clipToBounds?
-
是的,这不是 imageView 问题
标签: ios ipad uicollectionview uicollectionviewlayout