2016-11-08 34 views
0

我有一个表视图,并在表视图的自定义单元格中有一个集合视图。 集合视图具有水平滚动多个图像。 在表视图的第一个单元格上,我从集合视图中滚动了3到4个图像,这意味着我在第1行的表视图和第4个集合视图的图像上进行水平滚动。 现在,当我去或向下滚动表视图到第5行时,集合视图直接带我去我在之前滚动的集合视图中的索引图像。每次滚动表格视图时,我都应该处于集合视图的第一个索引处。如何总是显示集合视图的第一项,如果集合视图嵌入在ios的表视图中

+0

在tableViewCell,控制装置:'prepareForReuse()'和重新加载' collectionView'或将其滚动到位置0。 – shallowThought

回答

0

使用prepareForReuse()方法自定义TableView单元格和重置UICollectionView滚动。

注意:这种方法将工作,但滚动插入总是重置。因此,在你的例子中,如果你向下滚动然后返回到第一个单元格,那么它将不会显示第4个图像,但会显示第一个图像。如果要实现更好的解决方案,请创建一个双精度数组以记住内部UICollectionViews单元格的contentInsets,然后在prepareForReuse方法中使用这些值以在UICollectionView上设置右滚动。这种方法对于内存使用可能会很昂贵。

1

在表视图的willDisplayCell方法中使用它。

设点= CGPoint(X:0,Y:0)

tableViewCell.collectionView.setContentOffset(点,动画:真)

相关问题