Ho cercato di fare la stessa cosa da un po 'di tempo e finalmente l'ho capito. Risulta che non è possibile impostare il colore di sfondo su altri colori, ma è possibile fornire un'altra vista che UIPageViewController aggiungerà alla parte posteriore. E questo è il segreto qui.
Dalla documentazione di 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.
Quindi, in sostanza, è necessario impostare doppia proprietà lati di sì e fornire due viewControllers su entrambi i metodi Fonte dati:
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController;
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController;
Ogni metodo sarà chiamato due volte per ogni nuova pagina che aggiungi. Pertanto, è necessario fornire al viewController che si restituirà normalmente e anche una nuova viewController che verrà aggiunta sul retro quando si esegue l'animazione di rotazione della pagina.
Spetta a te ciò che il tuo "BackViewController" avrà. Puoi semplicemente avere una vista nera o se vuoi, puoi fare uno screenshot della prima pagina e ottenere un'immagine speculare da essa.
Non è difficile una volta capito come funziona. L'unico problema che posso vedere qui è che quando aggiungi una vista nera o qualcosa che ha uno sfondo nero, l'ombra quando si gira la pagina diventa BIANCA. Non ho idea del perché, ma ho visto accadere questo su molte app diverse, quindi credo che per Apple questo sia il comportamento normale. Ma sembra davvero strano.
EDIT:
Ho aggiunto un codice di esempio così è più facile da capire. https://github.com/mattabras/DoubleSidedPageViewController
Abras
Si prega di trovare l'allegato del mio schermo girato http://www.imageurlhost.com/images/xo7tttfxq3s6fdhk60s.png – Nishu
controllare questo: http://stackoverflow.com/questions/1079011/iphone-flipping-views-shows-a-white-background –
@Ganee spero che tu abbia visto l'immagine allegata. http://www.imageurlhost.com/images/xo7tttfxq3s6fdhk60s.png Sto usando UIPageViewController in modo che l'animazione sia già lì. Ho bisogno di modificare il colore posteriore come menzionato nella mia immagine. – Nishu