问题标签 [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 回答
827 浏览

ios - 观察 UIViewPropertyAnimator 正在运行问题

来自 Apple 文档pausesoncompletion

因为当此属性为 true 时不会调用完成处理程序,所以您不能使用动画制作者的完成处理程序来确定动画何时完成运行。相反,您可以通过观察 isRunning 属性来确定动画何时结束。

但我发现观察isRunning不起作用。util i wathched WWDC 2017 - Session 230-Advanced Animations with UIKit,我知道我应该观察running

我的问题是:我在哪里可以找到 excatly 密钥路径,不仅是这种情况。谢谢~

0 投票
1 回答
559 浏览

ios - 使用 UIViewPropertyAnimator 通过触摸中断动画

我正在尝试通过屏幕触摸来控制动画

当我触摸屏幕时,视图的 alpha 变为 0

但是如果在 alpha 变为 0 时再次触摸

然后 alpha 再次变为 1(使 alpha 值为 0 的中断动画)

所以我写

但 touchesBegan 仅在动画块完成后调用

我怎么解决这个问题

0 投票
2 回答
177 浏览

ios - panGesture iOS 的交互式动画

我有一个 sheetView,其顶部边缘始终以父视图中心为中心。

我允许它使用平移手势垂直拖动,当手势结束时,我将 sheetView 动画化回父视图的中心。

但是我想在 sheetView 仍在动画时与其进行交互,并在平移时垂直更改其位置,但我无法做到,它总是完成当前动画然后开始下一个动画。

你可以在这里找到整个项目:sheetView

0 投票
1 回答
1121 浏览

ios - 将 UIPanGestureRecognizer 速度添加到 UIViewPropertyAnimator

我遵循了有关如何使用 UIViewPropertyAnimator 创建交互式 iOS 控制中心动画的教程:

http://www.swiftkickmobile.com/building-better-app-animations-swift-uiviewpropertyanimator/

向上或向下滑动底部菜单时,松开手指后,我想添加平移速度UIViewPropertyAnimator并继续动画:

问题是当我快速向上或向下滑动菜单并释放更精细时,动画似乎撞到了墙上(快慢),然后继续休息

那么我该如何解决这个问题?我已经尝试了一整天,但我无法修复它

0 投票
0 回答
81 浏览

ios - 加载数据的自定义动画

在这里,我一直在尝试创建自定义动画进度条。

我正在尝试通过调整大小将视图从屏幕的一端移动到另一端。

视图的帧是 (0, 100, 10, 4)

我想要的是...

  • 在动画视图的开始应该在它的初始位置,让我们说在 (0, 100)

  • 动画视图的中间将位于屏幕的中间,其宽度将增加到 100px。

  • 在动画视图的末尾将在屏幕的第二端。并且视图的框架将在,比如说 (400, 100) 并且视图的宽度将再次回到 10px

  • 整个进程也应该逆转。

UIButton 动作方法

动画方法

我没有得到想要的动画效果。

有没有其他方法可以这样做,或者是否可以通过任何其他方式请建议我。

感谢您的时间,任何帮助将不胜感激。

编辑:

最终的动画应该看起来像......

在此处输入图像描述

0 投票
2 回答
140 浏览

ios - 后退按钮启动 UIViewPropertyAnimator?

我有一个带有摄像头的 ViewController 用于录制视频。顶部有一个旋转的圆圈,表示正在录制视频。这是这样设置的:

因此,如果它不存在,它会创建一个动画器,然后调用 startRecording 来启动动画。然后 stopRecording 停止它。然后,当视频完成录制到输出文件时,它会转到 newView 控制器。当我按下该视图控制器时,它使用一个展开segue - unwindToCameraWithSender:

当我放松并回到相机时,视频不是在录制,而是在播放动画。什么可能导致该动画重新开始?我怎样才能防止这种情况?

0 投票
2 回答
939 浏览

swift - UIViewPropertyAnimator 自动布局完成问题

我正在使用 UIViewPropertyAnimator 来运行数组交互式动画,我遇到的一个问题是,每当我反转动画时,我都无法再次向前运行动画。

我正在使用三个函数与平移手势识别器一起处理动画。

我注意到的是,在我反转动画然后调用 animateTransitionIfNeeded 之后,frameAnimator 被附加到正在运行的动画中,但是当我在之后立即调用 updateInteractiveTransition 并检查 runningAnimations 时,它是空的。

所以我被引导相信这可能与 swift 如何处理内存或 UIViewAnimating 如何完成动画有关。

有什么建议么?

0 投票
1 回答
526 浏览

ios - 无法使用 UIViewPropertyAnimator.fractionComplete 驱动 UIView.transition

我正在尝试使用滑块驱动具有 2 个图像值(在此示例中)的 UIImageView 的转换,但在 aUIView.transition内使用UIViewPropertyAnimator(应该可以工作)它没有。我错过了什么吗?

这是一个带有问题示例的游乐场,只需将滑块从一侧拖动到另一侧,图像应该会柔和地交叉溶解

就像是:

图像

游乐场:https ://www.dropbox.com/s/ix8nfxg43ij68q3/UIViewPropertyAnimator.playground.zip?dl=0

0 投票
0 回答
414 浏览

ios - 暂停 UIViewPropertyAnimation 的问题

UIViewPropertyAnimator用来制作小contentOffset动画。
为了让我的视图控制器保持精简,我在要动画的UIScrollView子类中有动画代码。我最初是在一个UIView.animate块中制作动画,但我注意到当视图消失(即另一个视图被推到视图顶部)时,动画会跳到最后,所以我试图在动画中实现暂停。此外,我想通过不必要的动画调用来减少 CPU 负载。

该方法afterAnimation()只是确定是否showAnimation()要再次调用。

在我的视图控制器中,我基本上有以下内容:

现在,只要用户不在另一个屏幕上停留太久,它就可以很好地工作。例如,如果用户调用设置屏幕(被推送到导航堆栈上),则调用 pause 方法 - 正如预期的那样。如果用户在该屏幕上停留的时间过长,那么即使动画没有完成,也会调用动画制作者的完成方法。一旦用户再次关闭设置屏幕,动画就会冻结并且不会继续。

我也尝试过与

但结果是一样的。一段时间后,完成块被调用。

我怎样才能最好地解决这个问题?谢谢!

编辑:通过不同的打印语句,我慢慢有了这样的想法,即使在animator暂停时,动画的内部计数器也会继续并在动画应该完成时调用完成块。

0 投票
0 回答
462 浏览

swift - 使用 UIViewPropertyAnimator 沿曲线路径驱动动画?

我有一个由 UIViewPropertyAnimator 驱动的可中断过渡,我想沿非线性路径为视图设置动画到其目的地。

做一些研究我发现这样做的方法是使用: CAKeyframeAnimation. 但是,我在协调动画时遇到了问题,我也遇到了 CAKeyframeAnimation 填充模式的问题。即使我将其设置为正向,它似乎也是反向的。

下面是贝塞尔路径:

路径可视化:

这是位于 UIViewPropertyAnimator 内部的 CAKeyframeAnimation

到目前为止,这个动画沿着正确的路径,但是动画反转回到它的起始位置并且与属性动画师不同步。

有什么建议么?