iOS-如何在UIPageViewController中设置UIScrollView以在重新启用后开始滚动

iOS-如何在UIPageViewController中设置UIScrollView以在重新启用后开始滚动,ios,uiscrollview,uipageviewcontroller,uipangesturerecognizer,snapchat,Ios,Uiscrollview,Uipageviewcontroller,Uipangesturerecognizer,Snapchat,我正在从事一个项目,该项目在UIPageViewController中具有可切换的表格单元格。UIPageViewController的UIScrollView最初被禁用。当您滑动单元格时,它会通过ui搜索识别器慢慢显示一个按钮,当按钮完全显示时,可滑动表格单元格会向ui页面视图控制器(其代理)发送一条消息以启用其滚动 启用滚动时,我需要UIPageViewController在用户仍在手指滑动时开始滚动。此功能就像Snapchat,您可以向右滑动与朋友聊天。但即使启用了UIScrollView

我正在从事一个项目,该项目在
UIPageViewController
中具有可切换的表格单元格。
UIPageViewController的
UIScrollView
最初被禁用。当您滑动单元格时,它会通过
ui搜索识别器
慢慢显示一个按钮,当按钮完全显示时,可滑动表格单元格会向
ui页面视图控制器
(其代理)发送一条消息以启用其滚动

启用滚动时,我需要
UIPageViewController
在用户仍在手指滑动时开始滚动。此功能就像Snapchat,您可以向右滑动与朋友聊天。但即使启用了
UIScrollView
,它也不会开始滚动。用户必须将手指从屏幕上取下,然后将手指放回屏幕上,再次滑动以开始滚动到下一个视图。
UIPageViewController
有以下代码来启用和禁用其滚动:

+(void)enableScrolling
{
    NSLog(@"supposed to enable");
    [myScrollView setScrollEnabled:YES];
    if (myScrollView.isScrollEnabled == YES) {
        NSLog(@"Scroll view is enabled");
    }
    //[myScrollView.panGestureRecognizer setState:(UIGestureRecognizerState *) UIGestureRecognizerStateBegan];
}

+(void)disableScrolling
{
    NSLog(@"supposed to disable");
    [myScrollView setScrollEnabled:NO];
    if (myScrollView.isScrollEnabled == NO) {
        NSLog(@"Scroll view is disabled");
    }
}
我想知道,如果用户仍在继续刷卡,我是否必须告诉
UIPageViewController的
uipangestureerecognizer
开始滚动?我很快就能做到这一点了。如有任何建议,将不胜感激。谢谢

编辑:

我已将这行代码添加到页面视图控制器类中的enableScrolling方法中:

[myScrollView setContentOffset:[myScrollView.panGestureRecognizer translationInView:myPageViewController.view]];
这是我更新的方法:

+(void)enableScrolling
{
    NSLog(@"supposed to enable");
    [myScrollView setScrollEnabled:YES];
    if (myScrollView.isScrollEnabled == YES) {
        NSLog(@"Scroll view is enabled");
        [myScrollView setContentOffset:[myScrollView.panGestureRecognizer translationInView:myPageViewController.view]];
    }
}
我的理解是,将scroll view content offset设置为被触摸的当前位置应该会使滚动再次激活,但所有这些都会使整个屏幕变暗


你知道我可能做错了什么吗?

你这样做很有趣。我有一个我正在构建的应用程序模板,具有相同的功能,但我决定在tableViewCells上放置一个UIView,然后让该视图响应触摸,将其向右滑动并查看下面的内容。当我到达某个contentOffSet点时,我会激活scrollView的enabled属性,并禁用UIView上的触摸,从而允许我滚动到下一页(就像SnapChat一样)。不确定这是否有帮助,但我就是这么做的

以下是此任务的一个很好的回购示例: