使用锚样式NSLayoutConstraints
(如在此答案:Swift | Adding constraints programmatically中)我如何设置子视图的动画?
对于那些懒惰的人来说,代码是:
override func viewDidLoad() {
super.viewDidLoad()
let newView = UIView()
newView.backgroundColor = UIColor.redColor()
newView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(newView)
let horizontalConstraint = newView.centerXAnchor.constraintEqualToAnchor(view.centerXAnchor)
let vertivalConstraint = newView.centerYAnchor.constraintEqualToAnchor(view.centerYAnchor)
let widthConstraint = newView.widthAnchor.constraintEqualToAnchor(nil, constant: 100)
let heightConstraint = newView.heightAnchor.constraintEqualToAnchor(nil, constant: 100)
NSLayoutConstraint.activateConstraints([horizontalConstraint, vertivalConstraint, widthConstraint, heightConstraint])
}
具体来说,如果我想滑动newView
,我该怎么做?感谢。
答案 0 :(得分:4)
您需要设置约束,然后在动画块中使用layoutIfNeeded:
进行更新self.horizontalConstraint.constant += 10 // move right 10 px.
UIView.animateWithDuration(0.5) {
self.view.layoutIfNeeded()
}