我创建了一个具有自定义布局的 UICollection,以允许垂直和水平滚动。它是一个由相等的部分和每个部分中的项目组成的网格(即 10 x 10、20 x 20 等)。我希望能够放置两个保留在 View 中的标题,一个在顶部,一个在左侧。我还没有找到在 UICollection 本身中执行此操作的方法。因此,我在左侧设置了 UICollection,在顶部设置了另一个。但是,当用户左右和/或上下滚动网格时,我希望这两个集合反射(reflect)这些移动。
所以,我的问题是:有没有办法将主 UICollection 的水平移动镜像到顶部 UICollection,然后将主 UICollection 的垂直移动镜像到侧面 UICollection?
谢谢!
最佳答案
UICollectionView
是 UIScrollView
的子类。它向其委托(delegate)人发送 UIScrollViewDelegate
protocol 中定义的所有消息.
您要回复的消息是scrollViewDidScroll:
.当您的主 Collection View 发送此消息时,您希望通过获取其 contentOffset
并将偏移量适本地应用到您的边距 Collection View 来响应它。
// Implement this in your main collection view's delegate.
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
[self synchronizeCollectionViewContentOffsets];
}
- (void)synchronizeCollectionViewContentOffsets {
CGPoint offset = self.mainCollectionView.contentOffset;
self.leftMarginView.contentOffset = CGPointMake(0, offset.y);
self.topMarginView.contentOffset = CGPointMake(offset.x, 0);
}
关于ios - UICollection 的镜像滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15917706/