1

У меня есть pageViewController - Я хотел бы добавить прокрутку с изображением за ним, а пока прокручиваю страницы в своем pageViewController - фон должен прокручиваться в том же направлении, но с более низким разрешением. Я использую auto-layout в раскадровки:Эффект Parallax для страницыViewController

так что я добавить pageViewController:

pageController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll 
               navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal 
                   options:nil]; 
pageController.delegate = self; 
pageController.dataSource = self; 
[self addChildViewController:pageController]; 

CGRect pageFrame = self.view.frame; 
pageFrame.origin.y += 50.f; 
pageFrame.size.height -= 50.f; 
pageController.view.frame = pageFrame; 
pageController.view.backgroundColor = [UIColor clearColor]; 
[self.view addSubview:pageController.view]; 

получить его Scrollview:

for (UIView *possibleScrollView in pageController.view.subviews) { 
    if ([possibleScrollView isKindOfClass:[UIScrollView class]]) { 
     ((UIScrollView *)possibleScrollView).delegate = self; 
    } 
} 

и слушая своего делегата:

- (void) scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    NSLog(@"%f", scrollView.contentOffset.x); 
    [parlaxScrollView setContentOffset:CGPointMake(scrollView.contentOffset.x * .2f, scrollView.contentOffset.y) animated:NO]; 
} 

И здесь я имеют некоторые запутанные результаты при прокрутке на вторую страницу:

378.500000 
386.500000 
403.500000 
419.000000 
448.000000 
469.000000 
... 
747.000000 
750.000000 
375.000000 ///!!!!!THE CONTENT OFFSET RETURNED TO THE INITIAL VALUE!!!!! 

Почему мой контент смещает сброс? Что с этим не так?

ответ

0

Я думаю, вам нужно отслеживать, какая страница отображается в данный момент, и добавить ширину к смещению содержимого.

что-то вроде этого: пусть CurrentPage: Int

+0

Я решил проблему с помощью SwipeView библиотеки - ТНХ для ваших предложений – ShurupuS

Смежные вопросы