0
votes

I use an UIPageViewController to pan between three views. I want to blur the background of the third view when I pan from the second to the third view (and vice versa). Therefore I have attached an additional UIPanGestureRecognizer to the second view. This UIPanGestureRecognizer animates the alpha-property of an image view which contains a blurred representation of the background image from 0.0 to 1.0 as soon as the right border of the second view has passed the middle of the screen. An additional UIPanGestureRecognizer of the third view does the opposite when I pan from the third to the second view.

Unfortunately this behavior is static. The panning of the UIPageViewController is interactive. When I want to pan from the second to the third view and the right border of the second view passes the middle of the screen, the burred image view gets visible while I'm panning. But while I'm panning I can change my mind and cancel the transition when I pan back to the original position. The blurred view stays visible although the second (and not the third) view is on screen.

Similar problems occur when I pan very fast a too short distance. The UIPageViewController will move to the third view but the blurred image view stays invisible.

Is there any way to synchronize the transition of the views with the visiblity/invisibility of the burred image view?

The UIPageViewController delegate protocol has two interesting methods: pageViewController:willTransitionToViewControllers: pageViewController:didFinishAnimating:previousViewControllers:transitionCompleted:

Unfortunately both methods doesn't work for my purposes.

The UIViewControllerAnimatedTransitioning feature of the iOS 7 SDK also seems not to work with the UIPageViewController.

Has anyone an idea?

1

1 Answers

0
votes

Sounds like iOS7 feature UIViewControllerInteractiveTransitioning (which also encompasses the associated non-interactive animated transitioning) is indeed what you need. You might consider replacing your UIPageViewController with some other mechanism that can make use of this approach, such as UINavigationController.