Modifier la contrainte par programme Swift

J'ai la vue suivante contrôleur dans mon storyboard :

Modifier la contrainte par programme Swift

Il aura toujours 6 vues d'images qui sont, par défaut, égale à la largeur et la hauteur. Chaque affichage de l'image est contraint à l'superview : "l'égalité des hauteurs" et un multiplicateur de 1/2.

Cependant, avant de me charger des images à l'intérieur, j'ai lu une propriété qui me donne de la hauteur souhaitée pour une image (largeur ne sera jamais modifié).

Donc mon interface (à l'exécution) peut ressembler à ceci :

Modifier la contrainte par programme Swift

Je pense que j'ai besoin de modifier le multiplicateur constant, mais c'est en lecture seule.

J'ai vu des posts disant que nous pouvons mettre à jour le constante propriété de la contrainte, mais c'est dans les points, j'en ai besoin pour travailler sur tous les appareils.

Maintenant que recommanderiez-vous ? Dois-je supprimer la contrainte et en ajouter un nouveau ? Si je n'ai pas l'enlever et essayer d'appliquer une nouvelle hauteur de la contrainte, il sera automatiquement retiré pour moi ?

Dois-je utiliser les gousses comme snapkit pour faire le travail ?

Merci pour votre aide.

MODIFIER

Voici le code que j'ai essayé, mais n'a pas réussi :

        for (index, (drawing, ratio)) in drawingElements.enumerate() {
            drawingViews[index].image = UIImage(named: drawing)
            //update height constraint if ratio is different than defaut ratio of 1/2
            if ratio != 0.5 {
                heightConstraints[index].active = false
                let newHeightConstraint = NSLayoutConstraint(item: drawingViews[index], attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.Height, multiplier: ratio, constant: 0)
                drawingViews[index].addConstraint(newHeightConstraint)
                self.view.layoutIfNeeded()
            }
        }

Suis-je le fais mal ? Je ne suis pas sûr au sujet de la nouvelle hauteur de la contrainte si

source d'informationauteur H4Hugo