有没有一种简单的方法可以将故事板中已经定义的约束转换为 Swift 代码?
Is there an easy way to convert the constraints that are already defined in storyboard into Swift code?
我在 Storyboard 中设计了一个 ViewController 并分别调整了它的所有约束。
现在,我想为这些约束中的大部分设置动画。
所以:
- 我应该使用 Swift 代码重新定义它们
- 并编写一些代码来制作动画。
但是在 Swift 代码中再次定义约束非常烦人,而我已经在情节提要中有了它们。
所以,我希望有人能给我介绍一种自动实现此功能的简单方法。
不,没有将 IB 约束呈现为 Swift 代码的内置方法。您可以遍历它们并获取它们的所有属性并执行类似的操作,但这会变得混乱。有太多不同的方法可以通过编程方式创建约束,即使存在一些自动化工具,我敢打赌代码也不会很优雅。 (一般来说,以编程方式生成代码的工具不会生成非常好的代码。)
我想知道整个概念。我们经常在不经历所有这些的情况下对 IB 生成的约束进行动画处理。典型的方法是给这些 IB 约束 @IBOutlet
引用,然后您可以通过编程更改它们的 constant
值,然后在动画闭包中调用 layoutIfNeeded
。或者,如果必须,您可以停用它们(再次使用插座),然后执行您想要的任何动画,并在适当的情况下在需要时重新激活这些约束。
但如果没有关于动画性质的更多详细信息,我们无法就如何在具有约束的 IB 视图中最好地实现动画提出建议。
但这是一个示例,说明如何以动画方式更改具有 IB 中定义的约束的视图的位置:
我在 Storyboard 中设计了一个 ViewController 并分别调整了它的所有约束。
现在,我想为这些约束中的大部分设置动画。
所以:
- 我应该使用 Swift 代码重新定义它们
- 并编写一些代码来制作动画。
但是在 Swift 代码中再次定义约束非常烦人,而我已经在情节提要中有了它们。
所以,我希望有人能给我介绍一种自动实现此功能的简单方法。
不,没有将 IB 约束呈现为 Swift 代码的内置方法。您可以遍历它们并获取它们的所有属性并执行类似的操作,但这会变得混乱。有太多不同的方法可以通过编程方式创建约束,即使存在一些自动化工具,我敢打赌代码也不会很优雅。 (一般来说,以编程方式生成代码的工具不会生成非常好的代码。)
我想知道整个概念。我们经常在不经历所有这些的情况下对 IB 生成的约束进行动画处理。典型的方法是给这些 IB 约束 @IBOutlet
引用,然后您可以通过编程更改它们的 constant
值,然后在动画闭包中调用 layoutIfNeeded
。或者,如果必须,您可以停用它们(再次使用插座),然后执行您想要的任何动画,并在适当的情况下在需要时重新激活这些约束。
但如果没有关于动画性质的更多详细信息,我们无法就如何在具有约束的 IB 视图中最好地实现动画提出建议。
但这是一个示例,说明如何以动画方式更改具有 IB 中定义的约束的视图的位置: