在我设计的示例中,我有以下单一视图:

在此处输入图像描述

如您所见,它由几个简单的约束组成:

  1. 将水平和垂直中心对齐,
  2. 高度(设置为常数)
  3. 前导空格和尾随空格(设置为常量)

我想要实现的是让这个红色/粉红色的视图从顶部"进来".传统上,在一个没有约束的世界中,我只会在UIView.animateWithDuration的范围内修改框架,但是我不确定如何在约束世界中进行类似的修改.

To reiterate my question, how can I make my view start out of scene and animate the view flying in from the top?

我考虑过设置垂直中心约束的动画(随后调用layoutIfNeeded),但没有达到预期效果.

谢谢你的帮助.

推荐答案

您可以做的是在viewDidAppear方法中添加以下代码.首先为视图的"中心Y"约束创建IBOutlet属性,然后更改其常量值.

self.centerYConstraint.constant = 500.0
self.view.layoutIfNeeded()

UIView.animateWithDuration(Double(0.5), animations: {
        self.centerYConstraint.constant = 0
        self.view.layoutIfNeeded()
    })

Swift相关问答推荐

SwiftData查询按日期排序的项的属性数组

如何在realityKit中反转USDZ动画

如何使泡泡上的箭头直达封闭矩形

异步/等待函数的XCTAssertThrowsError

从SwiftUI使用UIPageView时,同一页面连续显示两次的问题

为什么这个快速代码不显示文本字段?

物理主体未与 spritekit Swift 的网格图案上的纹理图像对齐

带有可选字符串作为键路径的 SwiftUI iOS16 表

列表不显示信息

如何从 Swift 中隐藏 Objective-C 类接口的一部分?

`let case(value)` 和 `case(let value)` 之间的区别 (Swift)

Swift Swiftui - 将 colored颜色 保存到 UserDefaults 并从 @AppStorage 使用它

令人满意的 var body:协议扩展中的一些视图

如何在 RxSwift 中获取 controlEvent 类型?

当我必须在 Swift 中的类、 struct 和枚举之间进行 Select 时,我应该如何推理?

更新我的 pod 导致 GoogleDataTransport Umbrella 标头出现错误

Swift 中惰性 var 的优势是什么

3D touch /强制touch 实现

swift - 我可以从我的自定义初始化方法中调用 struct 默认成员初始化吗?

tableView 部分标题消失 SWIFT