1

У меня есть UIPageViewController с прокруткой стиля перехода и ориентацией ориентации по вертикали. В одном из UIViewControllers у меня есть UITextView. Когда я пытаюсь прокручивать внутри текстового вида, иногда UIPageViewController ловит жест панорамы и пытается перейти к следующему контроллеру. Что было бы решением для остановки UIPageViewController для получения событий касания, когда пользователь прокручивает текст?Прокрутка UITextView внутри UIPageViewController

Я попытался установить exclusiveTouch=YES для текста, но это не помогло.

ответ

1

Я нашел решение. Вы можете отключить панорамирование UIPageViewController при прокрутке UITextView.

Чтобы отключить или включить 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]; 
} 
Смежные вопросы