2014-12-27 13 views
6

Ho appena avviato una semplice applicazione Cocoa utilizzando Swift, Storyboard e un documento.Problemi con NSSplitView Dimensioni iniziali (Storyboard e Swift)

L'unica modifica che ho apportato è sostituire il controller di visualizzazione predefinito in Main.storyboard con un controller di visualizzazione diviso. Tutto funziona alla perfezione per quanto riguarda le visualizzazioni secondarie che vengono compilate correttamente, tranne che per una cosa: il divisore è sempre all'estremità sinistra della finestra quando avvio l'app. Questo è con una vista divisa verticale. (Se cambio in orizzontale il divisore inizia in alto.)

Ho provato ad aggiungere dei vincoli ma IB non mi permetterà nemmeno di aggiungere vincoli a nulla tranne il contenuto all'interno delle sottoview.

Ho anche provato a usare splitView.setPosition ofDividerAtIndex ma non ha avuto successo.

Come specificare la larghezza della vista secondaria sinistra o la posizione del divisore?

risposta

7

La dimensione iniziale della vista divisa si basa sui vincoli. Se non ci sono vincoli da soddisfare, la larghezza o l'altezza è 0. Sei corretto, non puoi aggiungere alcun vincolo alla vista radice. Devi aggiungere sottoview che hanno vincoli che implicano l'altezza o la larghezza desiderata.

Questo potrebbe essere semplicemente un NSView con un limite di larghezza o altezza impostato.

+0

Grazie. Stavo cercando di utilizzare SplitViewController come controller principale del mio progetto ma non riuscivo a capirlo. Invece ho usato un NSViewController e ho inserito SplitView all'interno della vista root. Tutti i vincoli stanno funzionando alla grande ora. – Jspies