有没有简单的方法可以将情节提要中已定义的约束转换为Swift代码?

时间:2019-02-02 01:22:08

标签: swift4 xcode-storyboard ios-ui-automation

我在Storyboard中设计了一个ViewController,并且分别调整了它的所有约束。

现在,我想为大多数这些约束设置动画。

所以:

  1. 我应该使用Swift代码再次定义它们
  2. 和写入部分代码做动画。

但是当我已经在Storyboard中拥有约束时,再次在Swift代码中定义约束是很烦人的。

因此,我希望有人可以向我介绍一种自动实现此目标的简单方法。

1 个答案:

答案 0 :(得分:2)

否,没有将IB约束呈现为Swift代码的内置方法。您可以遍历它们并获取它们的所有属性,然后执行类似的操作,但是那样会很麻烦。有很多不同的方法可以通过编程方式创建约束,即使存在一些自动化工具,我敢打赌代码也不会很优雅。 (通常,以编程方式生成代码的工具不会产生非常好的代码。)

我想知道的整个概念。不经过这一切将会通过IB产生我们经常动画约束。典型的方法是给这些IB约束提供@IBOutlet引用,然后可以以编程方式更改它们的constant值,然后在动画闭包中将调用放置到layoutIfNeeded上。或者,如果需要,您可以停用它们(再次使用插座),然后执行所需的任何动画,并在适当时稍后根据需要重新激活这些约束。

但是,如果没有更多有关动画性质的详细信息,我们无法在具有约束的IB视图中建议如何最好地实现动画。

但这是一个示例,说明如何动画化具有IB中定义的约束的视图的位置:https://stackoverflow.com/a/28329399/1271826