Ich habe diese Situation:Ausgabe mit Auto-Layout Einschränkungen Programmatically
Ich mag dies:
Die schwarze Ansicht ist bei X Abstand zwischen violett Ansicht und wenn ich I-Taste im violetten tippen Sehen Sie die Höhe der violetten Ansicht reduziert (oder erhöhen) und ich möchte, dass die schwarze Ansicht auf dem gleichen X-Abstand zwischen violetter Ansicht ist. Aus diesem Grund schreibe ich diesen Code:
Für Schaltfläche Ereignis, das nach Ansicht der violetten erhöhen oder verringern verwende ich diese Methode:
@IBAction func tapOpenButton(){
self.altezza.constant = self.altezza.constant + 20
}
@IBAction func tapCloseButton(){
self.altezza.constant = self.altezza.constant - 20
}
wo altezza
ein
Die NSLayoutConstraint
ist beide Ansichten sind in einem Scrollview und ich gesetzt Einschränkung durch Code auf diese Weise:
var newView = blackView
var view = violetView
let horizontalConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.centerX, relatedBy: NSLayoutRelation.equal, toItem: view, attribute: NSLayoutAttribute.centerX, multiplier: 1, constant: 0)
let verticalConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.centerY, relatedBy: NSLayoutRelation.equal, toItem: view, attribute: NSLayoutAttribute.centerY, multiplier: 1, constant: 120)
let widthConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.width, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 100)
let heightConstraint = NSLayoutConstraint(item: newView, attribute: NSLayoutAttribute.height, relatedBy: NSLayoutRelation.equal, toItem: nil, attribute: NSLayoutAttribute.notAnAttribute, multiplier: 1, constant: 100)
self.altra.addConstraints([horizontalConstraint,verticalConstraint, widthConstraint, heightConstraint])
altra
ist die Scrollansicht, in der beide Ansichten sind
Mein Problem ist, dass der Abstand zwischen der violetten Ansicht und der schwarzen Ansicht nicht gleich ist, wenn ich Violett Höhe zu reduzieren oder zu erhöhen, insbesondere zum Beispiel, wenn ich die Höhe der violetten Ansicht vergrößern , violette Sicht geht unter die schwarze Sicht. Ich bin neu im automatischen Layout nach Code. Können Sie mir helfen?