2013-09-25 18 views
7

Sto provando ad aggiungere regolatore SplitView come controller di vista del bambino. controller di visualizzazione genitore è il controller di navigazione. la barra di navigazione è nascosta per il controllore della vista genitore e volevo mostrare la barra di stato come standard iOS 6. Ho aggiunto il controller splitview come controller di visualizzazione figlio perché volevo passare a un altro controller di visualizzazione dal controller di splitview.iOS7 UISplitViewController barra di stato

problema che sto affrontando è che quando sto aggiungendo regolatore SplitView, barra di stato si sovrappone al contenuto. setting edgesForExtendedLayout a UIRectEdgeNone per masterview, detailview, parentview, splitview non sembra funzionare.

Fatemelo sapere la soluzione posso applicare per evitare che il contenuto overlaping dalla barra di stato e Mostra stato bar iOS 6 standard.

Ho provato a fare con MGSplitViewController, ma è stato affrontando lo stesso problema.

Grazie.

+0

Avendo lo stesso problema. Curioso pure. Sembra che le tecniche consigliate da Apple non funzionino con SplitViewController. Per esempio vedi: https://developer.apple.com/library/ios/qa/qa1797/_index.html –

+0

Hai già capito? Sto anche avendo lo stesso problema con UISplitViewController, e come te avevo già provato a impostare gli edgeForExtendedLayout per tutti i possibili controller di visualizzazione senza alcun risultato. Grazie. –

risposta

0

Quando si dice:

Sto provando ad aggiungere View Controller divisa come controller di vista del bambino.

Intendi impostare UISplitViewController come rootViewController? Se no, potrebbe essere il motivo per cui si comporta in modo strano.

Tuttavia UISplitViewControllers non sono progettati per lavorare in questo modo, vedere questa risposta https://stackoverflow.com/a/2642701/383603

Vorrei utilizzare il controller della vista del contenitore per creare un controller di vista divisa personalizzata: https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html

Carichi di buoni collegamenti qui: Container View Controller Examples

Ovviamente un po 'fastidioso dover ricrearlo, ma almeno si ottiene il pieno controllo il suo comportamento.

0

io penso che si debba usare il genitore viewcontrollers e bambino con controller di navigazione abilitato può aiutare. In caso contrario, prova questo tutorial. Questo mi aiuta molto, spero che possa aiutarti anche tu.

1

Ho lo stesso problema esatto, ed è stato in grado di risolvere questo problema. Ho un UITabBarController alla radice con un UISplitViewController diverso su ciascuna delle prime due schede. Per alcune delle mie viste di dettaglio, lo stavo sovrapponendo sia alla barra di navigazione in alto che alla barra delle schede in basso.

Ho provato a impostare edgesForExtendedLayout anche senza successo all'inizio, ma risulta che è necessario impostarlo il prima possibile affinché abbia effetto. Lei non ha specificato nella sua domanda dove esattamente si stavano mettendo la vostra proprietà, quindi spero che questo vi aiuterà pure: impostare il edgesForExtendedLayout-UIRectEdgeNone nel -viewDidLoad del vostro UIViewController.

Questo è il codice che fissa per me, mentre i tentativi precedenti di fare questo in -viewWillLayoutSubviews avevano alcun effetto a tutti:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    // Prevent detail screen from sitting underneath navigation bar and tab bar: 
    self.edgesForExtendedLayout = UIRectEdgeNone; 
} 

Spero che questo aiuti ...

Erik

Problemi correlati