我创建了一个带有约束的视图('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)。
然后我为视图的容器布局设置了动画。
这没有任何影响。我不认为我重置了宽度约束属性。
解决方案?