2017-08-02 24 views
-1

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 
} 
+0

Ich denke, Sie müssen den Multiplikator Wert nicht die Konstante ändern. constOptions_Height.multiplier = cgfloatValue – Rishabh

+0

@Rishabh Multiplikator ist eine Eigenschaft, die nur erhalten wird. –

+0

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

Antwort

1

können Sie

folgenden Ansatz verwenden

zwei Einschränkungen geben. Eins für Seitenverhältnis und ein anderes für Höhe.

Machen die beiden aktiven alternativ wie

constOptions_Aspect.isActive = false 
constOptions_Height.isActive = true 

Sie Höhe geben kann Null, in der Höhe konstant.

+0

Eigentlich müssen Sie 'constOptions_Aspect' nicht ändern, wenn es eine niedrigere Priorität als' constOptions_Height' hat. Wenn zum Beispiel "constOptions_Aspect" die Priorität "999" und "constOptions_Height" die Priorität "1001" hat, reicht die Einstellung "constOptions_Height.isActive = true" aus. – Sulthan

+0

Ja richtig. Mit unterschiedlichen Prioritäten können wir das gleiche erreichen. –

+0

Danke @MohammadSadiq. –

Verwandte Themen