【问题标题】:UIGestureRecogniser in UICollectionViewUICollectionView 中的 UIGestureRecognizer
【发布时间】:2015-05-23 21:48:11
【问题描述】:

我的应用中有一个UICollectionView,底部有一个包含图像的页脚。我想让它滚动到UICollectionView 的底部,然后如果您进一步向下滑动,它会滚动到页脚图像下方到UIScrollView。显然你可以向上和向下滚动UIScrollView,一旦你在顶部,你可以向上滑动,它会再次跳到页脚图像上方。

我假设我必须使用UIGestureRecogniser 来检测向上滑动,然后添加一个 if 语句来检查用户当前是否位于集合视图的底部?

希望我已经充分解释了这一点。如果有人能提供一些示例代码,我将不胜感激!

谢谢。

【问题讨论】:

    标签: ios uiscrollview uicollectionview uigesturerecognizer


    【解决方案1】:

    我不明白.. 您在集合视图的页脚中有带有图像的滚动视图吗?反正不需要使用手势识别器,查看-scrollViewDidEndDragging: willDecelerate:

    typedef NS_ENUM(NSUInteger, ScrollDirection) {
        ScrollDirectionDown,
        ScrollDirectionUp
    };
    
    @interface ViewController ()
    
    @property (weak, nonatomic) IBOutlet UIScrollView *scrollWithImageView;
    
    @property (nonatomic) double lastContentOffset;
    @property (nonatomic) ScrollDirection scrollDirection;
    
    @end
    
    @implementation ViewController
    
    - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
        if (decelerate && scrollView == self.scrollWithImageView) {
            if (self.scrollDirection == ScrollDirectionDown) {
               // swipe down
            }
            else {
               // swipe up
            }
        }
    }
    
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView {
        if (scrollView == self.scrollWithImageView) {
            // scroll direction
            if (self.lastContentOffset < scrollView.contentOffset.y) {
                self.scrollDirection = ScrollDirectionDown;
            }
            else if (self.lastContentOffset > scrollView.contentOffset.y) {
                self.scrollDirection = ScrollDirectionUp;
            }
    
            self.lastContentOffset = scrollView.contentOffset.y;
        }
    }
    
    @end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多