2014-10-29 3 views
0

Мне нужно выполнить переходы uipageviewcontroller справа налево. Поэтому я рассматриваю примеры this и this. Но разница в том, что у меня есть один диспетчер представлений, который можно показать одновременно, и pageViewController:spineLocationForInterfaceOrientation: может возвращать только UIPageViewControllerSpineLocationMin не UIPageViewControllerSpineLocationMax. Это то, что я сделал до сих пор.
Языки RTL uipageviewcontroller завивка анимации для одного контроллера вида

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController { 

NSUInteger index = [(APPChildViewController *)viewController index]; 

if (index == 0) { 
    return nil; 
} 

// Decrease the index by 1 to return 
index--; 

return [self viewControllerAtIndex:index];} 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController { 

NSUInteger index = [(APPChildViewController *)viewController index]; 

index++; 

if (index == 15) { 
    return nil; 
} 

return [self viewControllerAtIndex:index];} 

- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController 
       spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation { 
UIViewController *currentViewController = [self.pageController.viewControllers objectAtIndex:0]; 
NSArray *viewControllers = [NSArray arrayWithObject:currentViewController]; 
[self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL]; 

self.pageController.doubleSided = NO; 
//Return the spine location 
return UIPageViewControllerSpineLocationMin; 
} 


Как я могу получить завиток правильно работать с UIPageViewControllerSpineLocationMin?. Также я не могу использовать шаблон для веб-сайта.

ответ

0

Основано на this Я нашел решение. Это код.

- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation { 
UIViewController *currentViewController = [self.pageController.viewControllers objectAtIndex:0]; 
NSArray *viewControllers = [NSArray arrayWithObject:currentViewController]; 
[self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:NULL]; 

self.pageController.doubleSided = NO; 
return UIPageViewControllerSpineLocationMax; 
}