2013-07-29 7 views
11

Sto creando un'app per iOS utilizzando storyboard e layout automatico in modo che funzioni sia su iPhone4 che su iPhone5. Di seguito è riportata la schermata della vista che sto creando utilizzando la storyboard.
iOS - Uso dello storyboard e del rollover automatico per centrare l'UIScrollView

enter image description here

Nell'immagine qui sopra, voglio mantenere la vista di scorrimento al centro dal bordo iniziale superview e la vista tabella di destra. Non voglio che la vista di scorrimento aumenti la sua larghezza in iPhone5. Ho provato diverse combinazioni di vincoli, ma non sono riuscito a ottenerlo.

Alcuni possono suggerirmi quali sono tutti i vincoli che devo impostare per la vista di scorrimento in modo che sia al centro.

risposta

6

Sarà necessario eseguire questa operazione aggiungendo una vista aggiuntiva allo schermo.

Al momento si hanno ...

- UIView (main view) 
    | 
    | - scrollView 
    | - tableView 

Si dovrebbe mettere la vista di scorrimento all'interno di un altro vista come questo ...

- UIView (main view) 
    | 
    | - UIView (spacer View) 
    | | - scrollView 
    | 
    | - tableView 

Ora che cosa si può fare è avere questi vincoli. ..

spacer view leading edge constraint to super view = 0 
spacer view trailing edge to table view leading edge = 0 
table view width = (whatever the width is) 
table view trailing edge to super view = 0 

Questo getterà la vista distanziale e la vista tabella in modo che la vista distanziale crescerà.

Ora è necessario aggiungere ...

scroll view width = x 
scroll view height = y 
scroll view centered vertically in super view 
scroll view centered horizontally in super view. 

Ora, a causa super vista della vista di scorrimento è la vista distanziale allora sarà sempre essere centrato tra la vista tavolo e il resto dello spazio.

35

Come centrare una vista sulla Storyboard

Questa risposta è stata aggiornata per Xcode 8.

Questa risposta è per le persone che stanno solo facendo una ricerca generale per il modo di centrare le cose con un storyboard e non capisco i vincoli.

Presumo che si stia utilizzando uno storyboard (non file XIB) e layout automatico. Questo è il default al giorno d'oggi quindi se non sai cosa significa allora non ti preoccupare. Se si desidera verificare, tuttavia, è possibile fare clic su Main.storyboard nel Project Navigator e quindi su File inspector. Si può fare in modo che Usa Layout automatico è controllato:

enter image description here

Selezionare il pulsante (o qualsiasi altra cosa vista che si desidera centrare) nello storyboard. Quindi fare clic sul pulsante di allineamento in basso a destra. Seleziona "Orizzontalmente nel contenitore" e "Verticalmente nel contenitore". Fai clic su "Aggiungi 2 vincoli".

enter image description here

Se non è stato perfettamente centrato già potrebbe essere necessario fare una cosa di più. Fare clic sul pulsante "Aggiorna frame" che si trova a due a sinistra del pulsante di allineamento. La tua vista dovrebbe ora essere centrata sullo storyboard.

enter image description here

E ancora più importante, ora quando si esegue la vostra applicazione dovrebbe essere centrato indipendentemente dalle dimensioni del dispositivo che si sta utilizzando.

Originariamente ho imparato questo da Creating the user interface – Auto layout. L'idea di base è sempre la stessa, ma ora la disposizione dell'interfaccia utente è leggermente cambiata in Xcode.

Vedi anche

+0

Questa è la risposta irrelavant per la mia domanda. Scrollview che ho menzionato non può essere in centro orizzontale e verticale. Il suo genitore è la vista del controller della vista stessa. – Satyam

+13

Mi rendo conto che questo non risponde alla tua domanda. Hai ragione ad accettare la risposta di @ Fogmeister, non la mia. Tuttavia, a causa del tuo titolo, molte persone vengono qui aspettandosi di imparare a centrare qualcosa su uno storyboard. Sono quelle persone che sto cercando di aiutare. – Suragch

Problemi correlati