J'utilise AutoLayout pour ma conception d'application. Pour l'un de mes HeaderView, j'avais défini sa hauteur en utilisant AspectRatio. Maintenant, lorsque la vue principale ne contient aucune donnée, la hauteur de HeaderView doit être de 0 et lorsque les données sont ajoutées, elles doivent être de nouveau réglées au format d'origine. Pouvons-nous changer le rapport d'aspect lorsque nous changeons la valeur constante de toute contrainte. J'ai essayé le code ci-dessous, mais cela ne fonctionne pas correctement.Modifier la valeur de la contrainte de format d'image par programme
@IBOutlet weak var constOptions_Height: NSLayoutConstraint!
if arrData.count == 0 {
constOptions_Height.constant = 0.0
}
else{
constOptions_Height.constant = 50.0
}
Je pense que vous devez changer la valeur du multiplicateur et non la constante. constOptions_Height.multiplier = cgfloatValue – Rishabh
@Rishabh Multiplier est une propriété get only. –
alors vous pourriez essayer de recréer cette contrainte afin de modifier le multiplicateur, à peu près comme nous assignons le cadre pour modifier la position des vues. Ou créez simplement cette contrainte à partir du code au lieu du storyboard. https://stackoverflow.com/questions/31334017/how-to-set-aspect-ratio-constraint-programmatically-in-ios – Rishabh