1
我有一個upperLabel,一個視圖和按鈕。更改動作視圖上的佈局錨點
在ViewDidLoad()
方法我給了一些視圖的佈局約束。點擊按鈕時,我需要更新這些約束(即視圖應向下移動)。我怎樣才能做到這一點。
這是我的代碼。但它不起作用。
let keyView = UIView()
override func viewDidLoad() {
keyView.frame = CGRect(x: 0, y: 0, width: 100, height: 30)
keyView.backgroundColor = UIColor.cyan
keyView.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(keyView)
keyView.topAnchor.constraint(equalTo: upperLabel.bottomAnchor , constant: 10).isActive = true
keyView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor, constant: 20).isActive = true
keyView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: -20).isActive = true
keyView.bottomAnchor.constraint(equalTo: keyView.topAnchor, constant: keyView.frame.size.height).isActive = true
}
該操作中的代碼如下。
func buttonAction(sender: UIButton!) {
keyView.translatesAutoresizingMaskIntoConstraints = false
keyView.topAnchor.constraint(equalTo: upperLabel.bottomAnchor, constant: CGFloat(i*50))
keyView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor, constant: 20)
keyView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: -20)
keyView.bottomAnchor.constraint(equalTo: keyView.topAnchor, constant: keyView.frame.size.height)
i + =1
}
根據上面的代碼,keyView應該單擊按鈕向下移動。但它並沒有下移。
請幫我一把。 在此先感謝。
爲什麼不取消對行動 –
是啊,我都甚至試圖以前的佈局限制和約束的AddNew,通過使初始約束.isActive =假的..然後我增加了新的限制。 –