2014-10-19 16 views
16

Ho alcuni problemi con il layout automatico, speriamo che qualcuno di voi possa aiutarmi =).L'autolayout di iOS cambia lo spazio iniziale e finale

aggiungo un UIView a un controller vista vuoto, in questo modo: enter image description here

poi aggiungo vincoli per iniziali e finali spazio, in questo modo:

enter image description here

che si traduce in questo:

enter image description here

Non riesco a capire perché li imposta come uguale a -16.0. Se cambio questi valori a 0, Xcode si lamenta della larghezza della UIView grigia.

Quando eseguo l'applicazione su iPhone 5 simulatore, si guarda bene: enter image description here

Tuttavia, quando si esegue l'applicazione sul simulatore iPhone 6 Plus aggiunge spazio bianco sulla sinistra e sulla destra:

enter image description here

non voglio l'UIView grigia di avere qualsiasi spazio da sinistra da destra non importa quanto grande lo schermo è. Come posso ripararlo? Grazie!

+0

sufficiente fare clic sul pulsante Modifica che è sul lato destro dei vincoli, e modificare il valore da -16 a 0. Il -16 ha a che fare con l'impostazione dei vincoli al margine, piuttosto che il bordo della vista. – rdelmar

+1

Se li cambio a 0, Xcode ridimensiona automaticamente la vista in questo modo: http://i.imgur.com/HjQi2dV.png – almas

+0

E se li ho impostati su 0, quindi manualmente la cornice da bordo a bordo, poi ricevo un avvertimento riguardo al posizionamento errato delle viste e, al momento dell'esecuzione, ridimensiona comunque la vista, ecco uno screenshot: http://i.imgur.com/954Jz1O.png – almas

risposta

37

Fare doppio clic sul vincolo e aprirlo. Qui selezionare il primo o il secondo elemento e deselezionare "Relativo al margine". Quindi imposta la costante come 0.

Xcode mostra -16 perché sta calcolando lo spazio rispetto a un margine e non ai bordi.

Controllare il seguente collegamento per ulteriori informazioni sui margini. Editing Auto Layout Constraints

enter image description here

+0

Questo ha funzionato, grazie per la spiegazione chiara e il collegamento. – almas

+0

Grazie mille! –

0

È possibile cancellare tutti i vincoli esistenti sulla vista e in Qualsiasi modalità * Qualsiasi, aggiungere i vincoli per tutti e 4 gli spazi a superview, che sono iniziali, finali, superiori, inferiori. Quindi avrà la stessa larghezza con lo schermo indipendentemente dalla grandezza dello schermo.

+0

Le ridimensiona ancora. Aggiungo semplicemente dei vincoli come questo: http://i.imgur.com/wUiFX31.png, che si traduce in questo: http://i.imgur.com/4hqUuKD.png – almas

+0

Notare il -16, l'origine del grigio deve x essere 0, e la sua larghezza dovrebbe essere 600. – gabbler

+0

sì, ho provato anche quello, lo ridimensiona comunque. Screenshot: http://i.imgur.com/IlnyGhi.png – almas

Problemi correlati