2015-08-12 10 views
5

Ho un UISplitViewController in un'app per iPad e fino ad ora ho impostato un segnaposto come controller della vista dettagli all'avvio, quindi la parte destra dello schermo non apparirebbe vuota fino a quando l'utente seleziona un oggetto.UISplitViewController + Vista divisa: nascondi i dettagli all'avvio

Ma ora, su iOS 9, quando si utilizza una visualizzazione divisa orizzontale 50/50 (multitasking), il controller della vista divisa spinge automaticamente il mio segnaposto, quando ovviamente mi piacerebbe che mostrasse la vista principale perché in quel caso il il segnaposto non è necessario

Qualcuno sa come evitare questo comportamento automatico?

Forse c'è un pezzo di API che fa proprio questo, e l'ho perso? Qualcosa come 'selectViewController:' per dire al controller della vista divisa per mostrare la vista principale o la vista di dettaglio. O forse possiamo accedere al controller di navigazione interno in modo da farlo apparire come root?

Grazie!

risposta

3

è necessario implementare il metodo UISplitViewControllerDelegate

- (BOOL)splitViewController:(UISplitViewController *)splitViewController collapseSecondaryViewController:(UIViewController *)secondaryViewController ontoPrimaryViewController:(UIViewController *)primaryViewController 

Secondo la documentazione, il valore di ritorno di questo metodo è:

NO per far visualizzare le due parti del controller prova e incorporare il contenuto del controller della vista secondaria nell'interfaccia compressa o SÌ per indicare che non si desidera che il controller della vista divisa faccia nulla con il controller della vista secondaria.

L'implementazione di questo metodo delegato e il ritorno di YES dovrebbero rendere il controller della vista divisa visualizzare all'avvio il controller della vista master.

+0

e non dimenticare di impostare la proprietà delegato di UISplitViewController. –

Problemi correlati