使用IOS动画中的约束…

在制作子视图动画时,通常使用该子视图的约束来更改其位置或值。 基本上,“动画”定义为值或位置的变化。

IOS中的每个视图都包含一个称为“ constraints ”的属性,该属性仅是get,它给出了该视图所持有的所有约束。约束由最近的视图持有,该视图包含约束中的两个项目。 子视图之间/之间连接的约束通常由其超级视图持有。

视图所包含的所有约束均在大小检查器中列出。 子视图与其父视图之间的约束由其父视图保持。 因此,在使用约束进行动画处理时,首先我们需要找到哪种视图持有我们要设置动画的约束。

对于动画,意味着更改约束或其乘数/常量值,首先我们需要获取所有现有约束。 通过依赖约束,选择包含所需约束的视图。

  1. 要获取约束,我们可以使用仅获取属性“ constraints”,它提供了一系列约束。 为了获得每个约束,我们可以遍历结果数组。

注意:像“约束”属性一样,乘数也是“仅获取”值。 就像我们为现有约束更改常量值一样,我们无法更改乘数值。 因此,要更改乘数值,我们需要访问该约束,使其为“ .active = false”。 通过将其激活设置为false,在下一个布局更新中,自动布局引擎将删除该约束。 因此,在定义新约束之后,将其设置为“ .active = true”。

2.我们可以在定义约束的同时为约束赋予标识符。 稍后,我们可以使用“ constraints”属性来获取约束,然后可以通过使用其标识符值来访问所需的约束。

3.我们还可以定义两个具有两个不同值,具有不同标识符和优先级的约束。 但是在任何给定时间都应该只有一个处于活动状态。 因此,从已定义的这两个约束中,将其卸载。

然后,您可以根据需要通过访问这些变量来随时激活一个。