gpt4 book ai didi

iphone - 检测滚动 UICollectionView 的方向,从 REST 加载数据

转载 作者:可可西里 更新时间:2023-11-01 05:06:01 25 4
gpt4 key购买 nike

假设标准配置(向上/向下),我想检测用户何时向上或向下滚动他们的 UIColletionView(它是 UIScrollView 的子类并符合到 UIScrollViewDelegate)。我没有直接从委托(delegate)中看到任何信息来检测这一点,尽管我可能看得太过头了。

如果我知道用户正在滚动哪个方向,那么我可以使用这些 UICollectionViewDatasource 方法来确定我是否应该从 REST 服务器加载更多数据,或者清除我已经必须管理的固定信息内存空间。

//如果向下滚动,出现部分

- (UICollectionReusableView *)collectionView:(UICollectionView *)cv viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {

//如果向下滚动,部分中的最后一个单元格将消失

- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath{

//如果向上滚动,显示部分中的最后一个单元格

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {

//如果向上滚动,部分会消失

- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingSupplementaryView:(UICollectionReusableView *)view forElementOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath{

最佳答案

您可以检查 UIScrollView 的(UICollectionView 继承自)panGestureRecognizer 属性并执行如下操作:

CGPoint scrollVelocity = [collectionView.panGestureRecognizer velocityInView:collectionView.superview];
if (scrollVelocity.y > 0.0f) {
NSLog(@"going down");
} else if (scrollVelocity.y < 0.0f) {
NSLog(@"going up");
}

swift 3.1:

let scrollVelocity = collectionView.panGestureRecognizer.velocityInView(collectionView.superview)
if (scrollVelocity.y > 0.0) {
print("going down")
} else if (scrollVelocity.y < 0.0) {
print("going up")
}

关于iphone - 检测滚动 UICollectionView 的方向,从 REST 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com