什么是动画UIView的一个约束的正确方法?

时间:2017-04-27 04:22:31

标签: swift uiviewanimation nslayoutconstraint swift3.1

我创建了一个带有约束的视图(' attributeView')

NSLayoutConstraint.activate([
    attributeView!.topAnchor.constraint(equalTo: containerView!.topAnchor, constant: 1),
    attributeView!.widthAnchor.constraint(equalToConstant:320.0),
    attributeView!.trailingAnchor.constraint(equalTo:containerView!.trailingAnchor),
    attributeView!.bottomAnchor.constraint(equalTo:containerView!.bottomAnchor)
])

我想将宽度设置为320.0到0.0。

这是我最初的尝试:

fileprivate func slideAttributeViewToRight(completion:()->Void) {
    let attributeView = self.navigationController?.view
    let containerView = self.navigationController?.view.superview
    attributeView!.translatesAutoresizingMaskIntoConstraints = false

    attributeView!.widthAnchor.constraint(equalToConstant:0.0)

    UIView.animate(withDuration: 0.3, animations: {
        containerView?.layoutIfNeeded()
    })
    completion()
}

我将约束从320.0重置为零(0.0)。
然后我为视图的容器布局设置了动画。

这没有任何效果。我不认为我重置宽度约束属性。

溶液

0 个答案:

没有答案