我有UIPageViewController
过渡样式滚动和垂直导航方向。其中一个UIViewControllers
我有一个UITextView
。当我尝试在文本视图中滚动时,有时UIPageViewController
捕获平移手势并尝试移动到下一个视图控制器。当用户滚动文本视图时,阻止UIPageViewController
接收触摸事件的解决方案是什么?
我尝试为文本视图设置exclusiveTouch=YES
,但它没有帮助。
答案 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];
}