Swift : 滑动 UICollectionView 和 UIPageViewController

Swift : Swipe Both UICollectionView and UIPageViewController

我创建了这个界面,collectionView 用于选项卡,pageViewController 用于滑动页面,当我滑动但无法更改时我正在获取页面索引 collectionViewTab 如何更改它?谁能告诉我,如何更新 collectionViewTab 底部指标???

 func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) {

  }

在此我得到正确的页面索引:

你走在正确的道路上。 当您在 UIPageViewController 上滑动时,您会获得当前页面索引。您应该将该索引保存到 class 变量并在 cellForItemAtIndexPath 中使用它来确定选项卡索引是否与当前显示的 UIPageViewController 匹配。所以这样的事情应该有效:

 func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
      let cell = collectionView.dequeueReusableCellWithReuseIdentifier("reuseIdentifier", forIndexPath: indexPath)

      if indexPath.item == classIndexVariable {
        bottomIndicator.isHidden = false // show indicator at current position
      }else{
        bottomIndicator.isHidden = true // hide indicator from all only shows in matched condition
       }

      return cell
    }

说明: 在 cellForItemAtIndexPath 中,您必须将当前单元格索引与保存在 UIPageViewController didFinishAnimating 函数中的索引进行比较。如果它匹配你有活动的标签 - 显示底部指示器。如果索引不匹配,则您的标签未激活,因此不显示底部指示器。

正如我所说,请记住这只是一个截图。不知道你的代码是什么样的,我猜你正在做这样的事情。