在UIPageViewController中滚动UITextView

时间:2014-04-29 12:19:42

标签: objective-c uitextview uigesturerecognizer uipageviewcontroller

我有UIPageViewController过渡样式滚动和垂直导航方向。其中一个UIViewControllers我有一个UITextView。当我尝试在文本视图中滚动时,有时UIPageViewController捕获平移手势并尝试移动到下一个视图控制器。当用户滚动文本视图时,阻止UIPageViewController接收触摸事件的解决方案是什么?

我尝试为文本视图设置exclusiveTouch=YES,但它没有帮助。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。您可以在UITextView滚动时禁用UIPageViewController平移。

禁用或启用UIPageViewController平移:

-(void)enablePanning:(BOOL) enable
{
    for (UIScrollView *view in self.pageViewController.view.subviews) {
        if ([view isKindOfClass:[UIScrollView class]]) {
            view.scrollEnabled = enable;
        }
    }
}

要知道UITextView何时滚动,我们可以使用UITextViewDelegate方法:

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    [self enablePanning:YES];
}

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
     [self enablePanning:NO];
}