2017-09-15 1 views
0

Ceci est ma classe:UIImageView ne tient pas compte des contraintes de largeur/hauteur

class Some: UIView{ 
override init(frame: CGRect) { 
    super.init(frame: frame) 
    load() 

} 

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
    load() 
} 

private func load(){ 
    let someImage = UIImageView() 
    someImage.translatesAutoresizingMaskIntoConstraints = false 
    someImage.image = UIImage(named: "Test") 
    self.addSubview(someImage) 
    someImage.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true 
    someImage.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true 
    someImage.widthAnchor.constraint(equalTo: self.widthAnchor, multiplier: 0.5) 
    someImage.heightAnchor.constraint(equalTo: self.heightAnchor, multiplier: 0.5) 
    } 
} 

Ceci est le résultat:

enter image description here

(orange est mon fond de ViewController)

Pourquoi mon l'image ignore ces lignes:

someImage.widthAnchor.constraint(equalTo: self.widthAnchor, multiplier: 0.5) 
someImage.widthAnchor.constraint(equalTo: self.widthAnchor, multiplier: 0.5) 

Il a clairement un multiplicateur de 1,0 dans l'image. Il devrait effectivement prendre la moitié de l'écran, sur la hauteur et la largeur comme on le voit dans le multiplicateur (0,5). Qu'est-ce que je fais mal?

Répondre

3

Est-ce juste moi ou est-ce que le ".isActive = true" est manquant sur les deux dernières contraintes?

+0

I.Am.So.Stupid.> :( –

+0

Ca m'arrive toujours avec moi: D – Raj