UIScrollView 的 UIPagerView 滚动问题

UIPagerView scroll problems with UIScrollView

我有一个带有视图控制器的 UIPagerView。每个 UIViewController 都有一个水平的 UIScrollView(例如,有 3 个水平图像)。请参阅图片以供参考。

当我在 scrollview 上做水平滑动手势时,scrollview 滚动而 pagerview 不滚动。当我在不是滚动视图的任何视图中执行水平滑动手势时,寻呼机视图会滚动其子视图控制器。现在一切都很好。

我想要实现的是:当我将 scrollview 滚动到最大值(它的 contentSize)时,我希望 pagerview 滚动它的 viewcontrollers。

拜托,我怎样才能做到这一点?

要实现您所描述的,您需要将 pagerViewController 设置为 ScrollView 的委托。

假设你的 ScrollView 是一个 PageViewController,首先让 PagerViewController 成为一个 PageViewControllerDelegate

@interface PagerViewController: UIViewController <UIPageViewControllerDelegate>

然后将 PagerViewController 设置为您的 ScrollView 的委托。在 PagerViewController

的 viewDidLoad() 方法中执行此操作
-(void) viewDidLoad
{ 
   //some other stuff
   self.scrollView.delegate = self
}

然后在 PagerViewController 中实现 didFinishAnimating 委托方法。每当您滚动 scrollView 控制器时都会调用它,并且您可以通过查看最新控制器的索引来确定它是否是您刚刚滚动的最后一页。如果是,则触发代码滚动 PagerViewController 以滚动到下一个视图。