ios - UIScrollView 中的 UICollectionView -> 滚动顺序

标签 ios objective-c uiscrollview uicollectionview

我在 UIScrollView 中有一个 UICollectionView

我的计划是,如果UICollectionView到达顶部或底部 外部 ScrollView 获取滚动手势。如果外 ScrollView 到达顶部或底部,CollectionView 得到 手势。

我该怎么做?

最佳答案

好的,这是我的解决方案:

  1. -观察两个ScrollView的contentOffset
  2. -检查内部scrollView何时到达顶部或底部
  3. -从内部 Scrollview 禁用滚动
  4. -从外部 Scrollview 启用滚动
  5. -检查外部scrollView何时到达顶部或底部
  6. -从外部 Scrollview 禁用滚动
  7. -从内部 Scrollview 启用滚动

很简单! 像这样观察 contentOffset:

[self.scrollView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNew context:nil];

此方法被调用:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
        if ([keyPath isEqualToString:@"contentOffset"]) {

        } else {

        }
    }

关于ios - UIScrollView 中的 UICollectionView -> 滚动顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538551/

相关文章:

ios - 如何构建用于 Facebook 提交的应用程序

ios - 重新定义模块 'Realm'

ios - 触摸屏幕时如何在 Swift 中关闭键盘

iphone - 两个 UIScrollViews,同步滚动

iphone - 支持指南针/地磁场的iOS设备列表

objective-c - 如何将文本从 iOS 应用程序导出到台式电脑?

iphone - 找到 NSString 的正确宽度

iphone - uiscrollview 内容大小的较大值是否会影响设备内存的分配?

ios - UIScrollview 适用于 iOS8,不适用于 iOS7

objective-c - Swift 调用包含 block 的 Objective-C 包装器函数