2015-01-02 11 views
20

Come impostare l'autolayout per UIImageView/UIView in modo che la larghezza e l'altezza della vista dell'immagine aumentino un po 'per iphone 6 e 6 plus. Ho provato ad aggiungere il rapporto Aspetto ma l'altezza e la larghezza aumentate sono molto grandi. È comunque possibile impostare l'altezza e la larghezza del vincolo della vista dell'immagine che può essere impostata manualmente per iphone 6 e 6 plus. Date un'occhiata allo screenshot della vista dell'immagine in iphone 6 e 6 plus dovrebbe essere un po 'più piccolo di quello che mostra ora. enter image description hereProporzioni di autolayout per UIImageView/UIView

+0

è necessario fare riferimento al post successivo su StackOverflow. http://stackoverflow.com/questions/25766747/emulating-aspect-fit-behaviour-using-autolayout-constraints-in-xcode-6 –

+0

già provato tat, ma non funziona, i risultati sono gli stessi –

+0

Questo è un tutorial semplice ma completamente descrittivo con screenshot su come è possibile aggiungere valori di rapporto per regolare [UIImageView in iOS AutoLayout] (https: // anujarosha.wordpress.com/2015/05/22/ios-autolayout-with-a-uiimageview/) – AnujAroshA

risposta

31

Come ho capito il problema è che si desidera controllare quanto l'immagine verrà aumentata in ciascuna dimensione dello schermo. Puoi controllare tutto. Quello che devi fare è assegnare un vincolo di larghezza uguale all'immagine. Preferibile per la larghezza dell'immagine. La relazione sarà con la superview e quindi puoi cambiare la relazione aggiungendo il tuo Moltiplicatore.

Quello che dovete fare esattamente:

1) Selezionare la visualizzazione dell'immagine.

2) Tenere premuto il tasto di controllo. Mentre lo trattieni, trascina il mouse dalla vista dell'immagine alla vista esterna.

3) Selezionare "Uguale alla larghezza".

4) Fare doppio clic sul vincolo nella scheda "Vincoli".

5) Assicurarsi che la vista immagine sia presentata come prima voce, se non si fa clic sul primo elemento e si seleziona 'Inverti primo e secondo elemento'.

6) Giocare con il moltiplicatore finché non si è soddisfatti del risultato sulla schermata di anteprima.

5

A volte giocare con il rapporto di proporzioni non aiuta. In tale condizione, usare una larghezza uguale e un vincolo di altezza uguale con una formula che spiegherò come sotto con un esempio.

Supponiamo di avere un UIView che occupa tutta la larghezza di iPhone 5, ovvero 320 punti. (ricorda 1 punto = 2 pixel per il display retina) e un'altezza di 46 punti. Voglio un pulsante (Larghezza = 30 punti, altezza = 60 punti) all'interno di questo UIView che si ridimensiona in base a diversi telefoni con le stesse proporzioni. Farò Control drag dal pulsante a UIView e selezionerò la larghezza uguale la prima volta e poi farò di nuovo la stessa cosa con Equal heights. Successivamente, selezionerò il vincolo e assicurerò che il primo elemento sia il pulsante e il secondo elemento sia l'UIView. Userò questa formula per calcolare il moltiplicatore poi:

Per calcolare larghezza moltiplicatore: 60 (larghezza del pulsante)/320 (larghezza del UIView) * 100 = 18,75%

Per calcolare l'altezza moltiplicatore: 30 (altezza del pulsante)/46 (altezza del UIView) * 100 = 65,217%

Ora immettere questo moltiplicatore (ricordarsi di utilizzare anche% age sign come sopra) e questo dovrebbe ridimensionare il pulsante per diversi dimensioni dello schermo di iPhone.

+1

Questo presuppone che le proporzioni della vista contenente siano sempre uguali, il che può essere vero oggi ma potrebbe non essere domani. –