自定义UITableView visibleCells方法

时间:2014-10-01 13:45:11

标签: ios uiscrollview

我使用名为PSCollectionVIew的自定义UIScrollView,现在我必须知道哪些单元格当前可见。但似乎没有这种方法。

我有什么方法可以自己实现它吗?

我需要它在这里使用它

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{}

谢谢gda

1 个答案:

答案 0 :(得分:0)

您不应该使用名为CollectionView的ScrollView。这真令人困惑。它使人们认为你的类是UICollectionView的子类,而它只是一个UIScrollView。我建议你重构这个名字。

这很重要,因为在UICollectionView上你有一个名为

的存取器
- (NSArray *)visibleCells

在您自己创建和定位项目时,在UIScrollView上,您需要自己创建。

请注意,集合视图通过重用单元格而不是分配每个视图来处理内存管理。您应该考虑使用UICollectionView,但如果由于某种原因您不需要,则必须由您自己执行visibleViews(没有单元格,因为它是UIScrollView)。

您应该迭代每个子视图并使用CGRectIntersectsRect测试框架是否与scrollView边界(可见矩形)相交