2015-07-10 2 views
10

Ehi, per qualche motivo, sto cercando di impostare l'altezza e la larghezza di una delle mie immagini. Voglio impostarlo in modo che l'altezza vada solo per il 20% del mio schermo. So che per impostarlo regolarmente puoi fare cose come: image = (0,0,50,50)Modifica automaticamente l'altezza e la larghezza di un UIImageView Xcode Swift

Ma ho bisogno che l'altezza non sia un numero statico. Qualcosa come l'immagine = (0,0, frame.height * 0,2, 50)

Qualche suggerimento?

risposta

18

La risposta accettata a Swift 3:

let screenSize: CGRect = UIScreen.main.bounds 
image.frame = CGRect(x: 0, y: 0, width: 50, height: screenSize.height * 0.2) 
+0

man grazie la cosa sullo schermo fisso imageView not stay .scaleAspectFit rule – fullMoon

3

Hey l'ho capito poco dopo. Per qualche ragione stavo solo avendo una scoreggia cerebrale.

image.frame = CGRectMake(0 , 0, self.view.frame.width, self.view.frame.height * 0.2) 
19
let screenSize: CGRect = UIScreen.mainScreen().bounds 
image.frame = CGRectMake(0,0, screenSize.height * 0.2, 50) 
+2

Si può fare il codice di sopra di questo wayy troppo 'image.frame = CGRect (0,0, 0,2 screenSize.height *, 50)' La differenza è che in questo modo sembra più veloce. CGRectMake è Objective-C style – Suhaib

2

u possibile utilizzare questo codice

var imageView = UIImageView(image: UIImage(name:"imageName")); 
imageView.frame = CGrectMake(x,y imageView.frame.width*0.2,50); 

o

var imageView = UIImageView(frame:CGrectMake(x,y, self.view.frame.size.width *0.2, 50) 
0

immagine View è una sottoview della vista principale. Funziona in questo modo

image.frame = CGRectMake(0 , 0, super.view.frame.width, super.view.frame.height * 0.2)