如何在移动其边界附近的一个组件的同时向上/向下滚动UICollectionView?

时间:2016-04-19 14:22:27

标签: ios objective-c uicollectionview drag

所以我有一个带有多行/列的可滚动UICollectionView

What it looks like actually

我可以添加我在每个UICollectionViewCell中调用PostIt(右侧的红色/黄色/绿色方块)的内容。然后,我也可以在每个UICollectionViewCell之间移动每个PostIt。

我想要做的是当我在UICollectionView的顶部/底部附近拖动(缓慢)一个PostIt时,它会向上/向下滚动UICollectionView

我知道如何将UICollectionView的滚动条位置设置为:_collectionView.contentOffset.x(或_collectionView.contentOffset.y,但我并不真正关心此问题。

我认为如果我能够将PostIt的中心坐标与集合视图的顶部/底部的坐标与if(the center of the postIt is near of the top/bottom) then {scroll up/down}进行比较,那么这是可能的。

但我真的不知道如何处理,如果有人可以帮助我会很好!提前谢谢!

1 个答案:

答案 0 :(得分:1)

这比你想象的要简单!

我用from django.db.models import Count Post.objects.annotate(num_views=Count('post_views')).order_by('num_views') 做了一次。 UITableView应该采取类似行动。您必须实施UICollectionView此代码可以帮助您:

UIScrollViewDelegate

我们可以告诉- (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView == self.firstTableView) { [self.secondTableView setContentOffset:scrollView.contentOffset]; } else if (scrollView == self.secondTableView) { [self.firstTableView setContentOffset:scrollView.contentOffset]; } } 从其属性UITableView滚动(并更改)了多少。 PostIt 的位置可以从另一个滚动视图(如果我们使用它)或拖动时的坐标定义。当 PostIt 接近所需位置时 - 更改contentOffset或将contentOffset滚动到所需的索引路径。