2

我创建了一个带有约束的视图('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)。
然后我为视图的容器布局设置了动画。

这没有任何影响。我不认为我重置了宽度约束属性。

解决方案?

4

0 回答 0