我有一个图像数组,显示在一个类似于Instagrams个人资料页面的collectionView中。选择图像后,indexPath.row
将传递给下一个使用相同数组的集合视图,并传递indexPath.row
以了解要在整个屏幕上显示的图像。
- (void)viewDidLayoutSubviews{
[self.view layoutIfNeeded];
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:self.selectedImage inSection:0];
[self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:NO];
}
图像出现但我无法在其余图像之间水平滚动。启用了分页,每个单元格都足够大,可以占用屏幕。如果我注释掉上面的代码,我可以滚动浏览所有图像。因此,当你选择一个人的形象,并且能够滚动其余部分而不是x并且单独选择每个人时,Twitter的功能如何
答案 0 :(得分:2)
我相信只要重复使用集合视图单元格,就会调用viewDidLayoutSubviews
。因此,当它尝试重用单元格时,它会运行强制它滚动回该项目的代码,这意味着滚动视图永远不会移动:)我认为您需要确保滚动到该项目只会被调用一次。
要测试这个...尝试在上面的代码中放入一个断点,看看当你尝试水平滚动时是否再次调用它。