问题标签 [uiviewpropertyanimator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
281 浏览

swift - 当 UIViewPropertyAnimator 正在执行动画过程时,如何增加一个值?

当 UIViewPropertyAnimator 正在执行动画过程时,如何增加一个值?当我让我的对象运动时,我想在它落在我的屏幕上时增加它的值,但我不确定如何将它与我的 Animator 链接。有什么建议么?以下是我发起的方式

如您所见,行驶我计算的距离需要 10 秒。我想用计数器跟踪它经过的每几个像素(30)。

0 投票
3 回答
1175 浏览

ios - 扩展 UIViewPropertyAnimator?

UIViewPropertyAnimator对于修改视图的变换、alpha 等非常方便。但是,有时您希望为CAShapeLayer路径设置动画,或者UIImageView更改图像。有什么方法可以扩展 UIViewPropertyAnimator 的功能以支持其他属性?如果没有,我如何将单独的动画与复杂的关键帧动画同步?

0 投票
0 回答
827 浏览

ios - 使用 initialVelocity 时 UIViewPropertyAnimator 无法按预期工作

我将尝试用一个简单的例子来解释我的问题。我有一个带有顶部约束和高度约束的 UIView。我试图动画增加高度约束。这里有两种方法。

对于案例 1,动画按预期执行。然而,对于案例 2,动画忽略了我为 UIView 设置的固定顶部约束。它首先使用初始速度对视图执行平移,当速度达到 0 后,它开始相对于其中心缩放 UIView。

有人可以告诉我我错过了什么吗?

0 投票
1 回答
1946 浏览

ios - 为什么 UIView.animate 可以与交互式控制器转换一起使用,但 UIViewPropertyAnimator 不能?

有关设置手势识别器等交互式过渡的样板,请参阅此答案

我正在尝试交互式转换,并花了很多时间试图弄清楚为什么控制器会正常转换而不是根据手势擦洗。我发现它不起作用,因为我使用的是UIViewPropertyAnimator. 切换到较旧的 UIView 动画块可以开箱即用。为什么?执行上有什么区别?

0 投票
1 回答
2397 浏览

ios - 结合许多 UIViewPropertyAnimator

我弄乱了UIViewPropertyAnimator的文档,我希望找到一种方法来组合两个 UIViewPropertyAnimator。

像这样的东西:

我缺少 UIViewPropertyAnimatorGroup 或类似的东西,这甚至存在吗?

0 投票
1 回答
2978 浏览

ios - UIViewPropertyAnimator - 简单地停止所有动画,而不是特定的?

UIViewPropertyAnimator中,有没有办法停止所有UIViewPropertyAnimator动画?

或者也许只是获取所有当前的动画——那么你当然可以stop全部获取。

这可以做到吗?

或者你真的必须

  • (a) 每人只做一次UIViewPropertyAnimator

和,

  • (b) 保留对其中每一个的引用?
0 投票
1 回答
2878 浏览

ios - UIViewPropertyAnimator 没有在 stopAnimation 上停止

我正在使用UIViewPropertyAnimator动画与我的视图交互(在卡片之间滑动)。一切正常,直到最近我在生产中遇到以下崩溃:

致命异常:NSInternalInconsistencyException

释放暂停或停止的属性动画器是错误的。属性动画师必须要么完成动画,要么显式停止并完成,然后才能被释放。

由于 Crashlytics 并没有真正提供更多上下文,或者我可以做的是确保我所有的动画师总是在viewController发布之前完成。

在我的一次尝试中,我试图确保当我创建一个新的动画师时,旧的动画师会停止并完成:

但是,现在我的应用程序开始因此错误而崩溃:

'NSInternalInconsistencyException',原因:'finishAnimationAtPosition:只应在停止的动画师上调用!'

在输出上打印时:

所以很明显,oldValue即使在调用之后动画师仍在运行oldValue.stopAnimation(false)

这怎么可能?

0 投票
1 回答
776 浏览

swift - 如何使用 UIViewPropertyAnimator 创建重复动画的动画?

使用 UIView.animate: 方法,我们可以配置选项并使其成为 [.autoreverse,.repeat]。这是一个简单的动画

这段代码将动画 v1 反复向前和向后移动,我怎么能用 UIViewPropertyAnimator 做到这一点?(我想要停止和暂停的优势

0 投票
3 回答
3230 浏览

ios - 使用 UIViewPropertyAnimator 多次重复和反转动画

我试图让我的动画再次将屏幕从黑色变为白色,然后重复一定次数。目前使用代码,我的动画从黑色缓到白色,然后跳回黑色。无论如何要反向运行动画或添加在第一个动画完成后运行的动画?

我尝试将此代码块添加到项目中,但结果是相同的:

编辑:我发现这是因为 setAnimationRepeatCount 因为最后一次迭代工作正常。如何在没有重复计数的情况下多次运行动画?

0 投票
1 回答
1552 浏览

ios - UIViewPropertyAnimator 在呈现另一个控制器后停止工作

UIViewPropertyAnimator用于缩小视图控制器的标题:

在滚动时,我设置了fragment

这工作正常。但是在我从这个控制器中展示另一个UIViewController并关闭它之后,动画师进入非活动状态并停止响应分数设置。我怎样才能重新启动它?

我已经尝试过的:

  • 将我的 animator 属性设置为nil, 以便下次重新创建它(崩溃)
  • 暂停它-viewWillAppear:变得活跃(变得活跃,但不动画)
  • 启动它-viewWillAppear:(保持非活动状态)