Próbowałem zrobić to samo od jakiegoś czasu i w końcu to rozgryzłem. Okazuje się, że nie można ustawić koloru tła dla innych kolorów, ale można podać inny widok, który UIPageViewController doda do tyłu. I tu jest tajemnica.
Z dokumentacji Apple:
Spine location Double sided What to pass
UIPageViewControllerSpineLocationMid YES Left and Right Page.
SpineLocationMin or SpineLocationMax YES Front and Back of the page.
SpineLocationMin or SpineLocationMax NO Front page only.
Więc w zasadzie, trzeba ustawić podwójną właściwość jednostronny na yes i dostarczyć dwa viewControllers na obu metod źródło danych:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController;
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;
Każda metoda zostanie wywołana dwa razy za każdą dodaną nową stronę. Tak więc musisz dostarczyć viewController, który normalnie powrócisz, a także nowy kontroler viewController, który zostanie dodany do tyłu podczas obracania animacji strony.
To od Ciebie zależy, jaki będzie mieć Twój "BackViewController". Możesz po prostu mieć czarny widok lub jeśli chcesz, możesz zrobić zrzut ekranu z pierwszej strony i uzyskać z niego obraz lustrzany.
Nie jest trudno, gdy zrozumiesz, jak to działa. Jedyny problem jaki widzę tutaj to to, że gdy dodasz czarny widok lub cokolwiek, co ma czarne tło, cień podczas obracania strony stanie się BIAŁY. Nie mam pojęcia dlaczego, ale widziałem, jak to się dzieje w wielu różnych aplikacjach, więc wydaje mi się, że to normalne zachowanie Apple. Ale wygląda naprawdę dziwnie.
EDIT:
Dodałem kod przykładowy, więc łatwiej jest zrozumieć. https://github.com/mattabras/DoubleSidedPageViewController
Abras
Proszę znaleźć przyłączenie moim zrzucie ekranu http://www.imageurlhost.com/images/xo7tttfxq3s6fdhk60s.png – Nishu
sprawdzić to: http://stackoverflow.com/questions/1079011/iphone-flipping-views-shows-a-white-background –
@Ganee nadzieję, że widziałem załącznik obrazu. http://www.imageurlhost.com/images/xo7tttfxq3s6fdhk60s.png Używam UIPageViewController, więc animacja już istnieje. Potrzebuję zmodyfikować kolor tyłu, jak wspomnieć na moim obrazie. – Nishu