ios - UIViewPropertyAnimator 开头有短动画片段
问题描述
想象一下UIViewPropertyAnimator
设置如下:
let animator = UIViewPropertyAnimator(duration: 2, curve: .easeInOut) {
myView.center = newCenterPoint
}
为此,我可以添加另一个以延迟开始,以主要结束的动画:
animator.addAnimation ({
myView.alpha = 0.5
}, withDelayFactor: 0.5)
所以上面从 1 秒开始并持续 1 秒以完成主要。
问题
有没有办法添加一个UIViewPropertyAnimator
从一开始就开始的动画,但持续时间只是主要动画师的一小部分?从 0 开始并仅持续 1 秒?
解决方案
为什么不直接使用另一个动画师?两个动画师可以同时作用于同一个视图,只要他们的动画不冲突:
let animator = UIViewPropertyAnimator(duration: 2, curve: .easeInOut) {
self.myView.center.y += 100
}
let animator2 = UIViewPropertyAnimator(duration: 1, curve: .easeInOut) {
self.myView.backgroundColor = .red
}
animator.startAnimation(); animator2.startAnimation()
动画将视图向下移动两秒钟,同时在第一秒内将视图变为红色。
(说了这么多,在现实生活中,我可能会为此使用 CAAnimationGroup,而不是属性动画师。)
推荐阅读
- node.js - 如何在 Gitlab 中为 nodejs 应用程序运行测试
- c++ - 指向成员变量的指针 - C++ 中的自动类型
- javascript - openlayers 4.4:更改 wms 源的颜色和符号
- jquery - 如何实现这样的连续视差?
- javascript - ASP.Net MVC Ajax 请求触发一次,然后不再触发
- html - CSS:第一个孩子的选择器,除非在某个类的子标签中
- javascript - replace() 未按预期运行,试图在 JavaScript 中替换换行符 (/n /rn /r)
- swift - 生成包含其他数组加权平均值的数组
- c - 找不到分段错误。在第一次打印之前发生在任何一种情况下
- reactjs - React Native 页面上几个相同的自定义组件