我想设置一个对象的动画,所以我声明了一个约束并将其添加到视图中.然后在UIView动画中更新约束的constant属性.为什么这个代码不移动对象?

UIView.animateWithDuration(1, animations: {
     myConstraint.constant = 0   
     self.view.updateConstraints(myConstraint)
})

推荐答案

为了声明动画,不能重新定义约束并调用updateConstraints.您应该更改约束的constant,并遵循以下格式:

self.view.layoutIfNeeded()
UIView.animate(withDuration: 1) {
    self.sampleConstraint.constant = 20
    self.view.layoutIfNeeded()
}

Swift相关问答推荐

如何避免使用DispatchSemaphores时线程爆炸?

SwiftData:线程1:&Quot;NSFetchRequest找不到实体名称';提醒&q;的NSEntityDescription

Variadic泛型与Swift中的值和类型参数包

按下一步后无法让文本字段切换焦点

SWIFT计划计时器方法在时间间隔后未被调用

Swift String.firstIndex(of: "\n") 返回 nil,即使字符串有 \n

如何在类中打印函数

如何为等待函数调用添加超时

用逻辑运算符保护让

用户输入以更改通过点击生成的形状大小

单击按钮后的计时器发布者初始化计时器

临时添加到视图层次 struct 后,Weak view引用不会被释放

不支持用作符合协议 AnyObject 的具体类型

如何使用 swift 将 Images.xcassets 中的图像加载到 UIImage 中

如何在 GCD 中停止 DispatchWorkItem?

在 unwind segue 之后执行 push segue

WKWebView 确实从本地文档文件夹加载资源

使用 ARAnchor 插入 node 和直接插入 node 有什么区别?

使用 swift IOS 使 UIBarButtonItem 消失

为什么枚举具有计算(computed)属性但在 Swift 中没有存储属性?