2015-04-13 12 views
10

Questa è la mia prima app da zero in iOS 8 e XCode 6, quindi questi problemi di spaziatura mi hanno ucciso. Nel sotto puoi vedere che ho un UIImageView che voglio essere un quadrato, ma voglio che si estenda anche sulla larghezza dello schermo. Ha un valore di larghezza e altezza in modo che quando l'app esegue lo schermo è più largo finisce in una piccola scatola nell'angolo in alto a sinistra. Ho provato a fare i conti con i vincoli in ogni modo a cui potessi pensare, ma quando lo vincolo l'immagine si ingrandisce a tutto schermo e copre tutto ciò che esce dallo schermo. Come faccio a farlo allungare e mantenere le proporzioni 1 a 1?iOS mantenere le proporzioni di UIImageView ma riempire la larghezza

enter image description here

EDIT Ok, mi sbagliavo. Non è UIImageView che non si sta adeguando, è l'intera vista. enter image description here

risposta

2

Vincola entrambi i lati e superiore a superview. Puoi anche dire che, ad esempio, larghezza/altezza può essere> = 320, il che a volte aiuta. Ma ricorda, funzionerà solo in verticale, quando si trasforma l'interfaccia utente in orizzontale, l'immagine non può mai rimanere quadrata mentre riempie la larghezza ed è completamente sullo schermo allo stesso tempo.

EDIT: l'immagine non dovrebbe cercare di allungare oltre i limiti dello schermo (in verticale) finché non dite che che dovrebbe essere "così lontano dal basso"

EDIT - 2: Impostare i vincoli della vista di sfondo su superview. tutto 4.

+0

Ho aggiornato la mia domanda con maggiori dettagli. È l'intera visione che non si adegua, non solo l'immagine. – Jhorra

1

Vorrei impostare il frame a livello di programmazione e non utilizzare affatto i vincoli. Per fare questo

  1. link al ImageView a una presa nella sua View Controller
  2. impostare la cornice in modo che i due valori sono uguali

    frame.size.width/frame.size.height

+0

Questo penso avrebbe dovuto funzionare. Ho aggiornato la mia domanda con maggiori dettagli. È l'intera visione che non si adegua, non solo l'immagine. – Jhorra

9

utilizzare la modalità contenuti visualizzazione dell'immagine:

[self.imageView setContentMode:UIViewContentModeScaleAspectFill]; 

Sembra che si desideri anche la larghezza della cornice per riempire lo schermo. Utilizzare questi vincoli:

  • Distanza verso l'alto, a sinistra ea destra a 0.
  • Altezza uguale al vincolo di larghezza.
  • Rapporto in scala 1: 1.

Quindi la visualizzazione dell'immagine deve essere ridimensionata in modo appropriato.

+0

Non influisce solo sull'immagine nella vista piuttosto che nella vista stessa? – Jhorra

+0

Ho aggiornato la mia domanda con maggiori dettagli. È l'intera visione che non si adegua, non solo l'immagine. – Jhorra

+0

@Jhorra Ho aggiornato la mia risposta, spero che questo funzioni per voi. –

Problemi correlati