Ich benutze AutoLayout für meine App-Design. Für eines meiner HeaderView hatte ich die Höhe mit AspectRatio eingestellt.Ändern Sie Seitenverhältnis Constraint-Wert programmgesteuert
Jetzt, wenn die Hauptansicht keine Daten enthält, sollte HeaderView height 0 sein und wenn Daten hinzugefügt werden, sollte es wieder auf das ursprüngliche Seitenverhältnis eingestellt werden.
Können wir das Seitenverhältnis ändern, wenn wir den konstanten Wert einer Abhängigkeit ändern. Ich habe es unter dem Code versucht, aber es funktioniert nicht richtig.
@IBOutlet weak var constOptions_Height: NSLayoutConstraint!
if arrData.count == 0 {
constOptions_Height.constant = 0.0
}
else{
constOptions_Height.constant = 50.0
}
Ich denke, Sie müssen den Multiplikator Wert nicht die Konstante ändern. constOptions_Height.multiplier = cgfloatValue – Rishabh
@Rishabh Multiplikator ist eine Eigenschaft, die nur erhalten wird. –
Dann könnten Sie versuchen, diese Einschränkung neu zu erstellen, um den Multiplikator zu modifizieren, ähnlich wie wir den Rahmen zuweisen, um die Position der Ansichten zu ändern. Oder erstellen Sie diese Einschränkung einfach aus Code anstelle von Storyboard. https://stackoverflow.com/questions/31334017/how-to-set-aspect-ratio-congramma-in-ios- – Rishabh