我有這種情況:使用期自動佈局約束編程
我想這一點:
黑色的觀點是,在紫視圖之間X距離,如果我點擊在紫光我按鈕查看紫視圖的高度降低(或增加),我希望黑視圖處於紫視圖之間相同的X距離。 爲此,我寫這樣的代碼:
對於按鈕事件增加或減少紫色的視圖我用這個方法:
@IBAction func tapOpenButton(){
self.altezza.constant = self.altezza.constant + 20
}
@IBAction func tapCloseButton(){
self.altezza.constant = self.altezza.constant - 20
}
其中altezza
是NSLayoutConstraint
的兩個視圖都處於scrollview和我通過代碼設置約束:
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
是兩個視圖都是滾動視圖
我的問題是,當我減少或增加紫羅蘭色的高度時,紫色視圖和黑色視圖之間的距離不一樣,特別是,例如,當我增加紫色視圖的高度時,紫羅蘭色的視圖在黑色視圖下。 我是代碼自動佈局的新手。 你能幫我嗎?