我正在编写一些自定义控制器转换,并希望避免使用像Hero这样的东西来保持对我的UINavigationController的delegate
属性的控制。关于如何实际制作视图动画的问题,我处于一个十字路口。
要清楚,这不是“在一个动画中移动每个控制器的整个视图”过渡,例如简单的交叉淡入淡出。相反,我想让每个过渡视图的各个子视图以级联模式移动和淡入淡出。动画必须是互动的。子视图使用自动布局,我希望避免跟踪数十个约束。
到目前为止,我发现修改视图的transform
属性允许您在不干扰约束的情况下修改位置,缩放和旋转。同样重要的是,您可以通过恢复身份转换来删除修改。它由UIViewPropertyAnimator
支持。
修改视图的转换属性似乎非常罕见,因此它似乎是进行转换的好方法。我的另一个想法是创建每个转换视图的副本,并修改它的属性,但我没有看到这样做的好处,除了保留非的能力 - 同一性转换。
这是什么常见做法?通常会出现哪些模式?