问题标签 [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.
swift - 离开应用程序时,Swift UIViewPropertyAnimator 会自动播放
今天是个好日子!
我的应用程序有问题。我正在使用 UIViewPropertyAnimator 为我的模糊设置动画。我让模糊效果从 nil (0) 运行到 .light (1),但由于灯光效果太多,我将 UIViewPropertyAnimator 设置为 0.1 (.fractioncomplete = 0.1)。
这很好用!但问题是,如果您离开应用程序(不是杀死,只是通过按主页按钮或转到另一个应用程序离开),它会自动播放并从 0.1 变为 1。
我认为这是一个错误?我希望有人对此有解决方案。
这里有一些图片:(没有足够的声誉直接发布它们)
代码:
viewdidload:
模糊动作(需要先启动/暂停,因为苹果的一个已知错误可以唤醒动画师):
提前致谢 !
ios - 反转 UIViewPropertyAnimator 会导致帧动画问题
我正在使用 aUIViewPropertyAnimator
为 a 的框架设置动画UICollectionViewCell
。我查看平移手势识别器的速度,以决定动画师是应该自然完成还是反转并返回到初始状态。
在所有模拟器中,在我的 iPhone 5s 和 6s+ 上,这些动画都完美运行。然而,在我的 iPhone 7+ 上,每当我反转动画时,都会出现奇怪的帧闪烁。请参阅下面的代码以了解我如何执行此操作。在 iPhone 7+ 上的效果是,我一设置reversed = YES
然后调用continueAnimationWithTimingParameters:durationFactor:
,帧立即跳转到屏幕的完全不同的部分,然后从那里运行反转动画。只有在动画完成运行后,帧才会跳回它应该返回的位置。
我试图取消使用弹簧计时参数,但这并没有什么不同。
这是代码的抽象版本:
swift - UIViewPropertyAnimator 完成后丢失动画块
我有一个 UIViewPropertyAnimator 来控制加载视图的呈现和关闭动画。
我的加载视图从零的 alpha 和一个比例变换开始,以使其更小。然后,在动画块中,我将此值更改为最终值(1 的 alpha 和恒等变换)。比,在解雇过程中,我将动画师设置为反转。
目前的动画效果很好,如果我在动画中间反转动画师(解除加载)它就可以了。
我的问题是,如果动画完成演示并且我尝试反转并再次开始动画,我会收到错误消息:
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“动画器(UIViewPropertyAnimator [inactive] 可中断)必须至少有一个动画块才能启动!”
每次动画师完成时我都必须重置动画块吗?
ios - UIViewControllerAnimatedTransitioning:多次调用interruptibleAnimator?
我刚刚花了几个小时追踪一个恰好位于转换驱动程序对象中的错误,该interruptibleAnimator
方法被多次调用,其中:
UIViewPropertyAnimator
完成闭包包含对[unowned self]
完成其转换控制器传递的转换上下文的引用self.context.completeTransition(true)
实现
/li>UIViewControllerAnimatedTransitioning
并且是 a的转换控制器UINavigationControllerDelegate
通过其animate
方法传递上下文
除非我在这里遗漏了一些非常基本的东西,否则我不知道为什么转换控制器会多次调用该interruptibleAnimator
方法。
我的结构受到 Apple在 WWDC 2016 演讲中介绍的内容的启发;如果您下载,放置一个断点并启动他们的 Photo Transitioning 应用程序,您可以自己看到在他们的情况下,该方法被调用两次以实现相同的转换。
有人可以告诉我我是在追鬼还是这是一种合法的奇怪行为?
ios - UIPercentDrivenInteractiveTransition 取消问题
我有的
我正在使用UIViewControllerAnimatedTransitioning
protocol
附加UIViewPropertyAnimator
的平移来关闭视图控制器
平移手势来处理动画:
什么有效
向下滑动以解雇工作完美。轻轻向下滑动并抬起手指以取消也非常有效。
问题
向下和向后滑动超出起点(进度变为负数)并抬起手指应该取消动画并取消过渡。这发生在 iOS 10 中,但它首先会先反转导航控制器的转换,然后再回弹。在 iOS 11 中,取消动画发生,然后我看到导航控制器转换反转。如果您等待,您会看到导航控制器转换确实会尝试在 10 分钟左右的动画中自行纠正它。
问题:
ios - UIViewPropertyAnimator 完成对应的API
使用 UIViewPropertyAnimator 我可以简单地停止它并调用 finishAnimation(at: .end) 来提前完成正在进行的动画。为了使用传统的基于 UIView 块的动画实现相同的行为,我必须在 iOS 9 上使用什么 API?
ios - UIView 帧动画不更新子视图布局 - UIViewPropertyAnimator
我正在尝试使用 UIViewPropertyAnimator 制作简单的帧动画。如果我为框架设置动画,效果很好。
当您添加具有自动布局约束的子视图时,问题就出现了。子视图帧在动画开始时计算并立即更改,而不是随着动画的进行而完成。
关于如何在视图框架更改时为子视图设置动画的任何想法?
我的自定义视图只是一个内部有一个 ImageView 的视图,它被限制在其父视图的所有 4 个边上。
ios - UISpringTimingParameters 的初始速度是如何指定的?
我正在尝试在用户的平移手势释放的视图上执行弹簧动画,并且可能具有非零速度。我基本上是在尝试重新创建他们使用的这个 WWDC 视频UISpringTimingParameters(dampingRatio:initialVelocity:)
的动画。但是,文档似乎自相矛盾:
速度
动画的初始速度和方向,指定为单位向量。
[...]
例如,如果总动画距离为 200 点,并且视图的初始速度为每秒 100 点,则指定幅度为 的向量
0.5
。
如果0.5
是一个示例值,那么显然它毕竟不需要是一个单位向量。并且首先不可能在单位向量中编码速度。
由于无法依赖文档,我尝试插入几个不同的值,但没有任何结果可以带来令人满意的结果。
我如何使用这个 API?
ios - UIViewPropertyAnimator 在 iOS10 和 iOS11 上反转动画的不同行为。`isReversed` 和 `fractionComplete` 属性的错误?
问题
在 iOS10 和 iOS11 上运行相同的代码,我的 UIViewPropertyAnimator 在更改他的.isReversed
属性后有不同的行为。
在 iOS10 上一切正常。动画问题发生在 iOS11
条件
任何动画都是如此,不仅是特定的动画,而且可以通过观看动画和代码来验证。它发生在模拟器和真实设备上。
详细
信息一旦用他的动画创建了一个 UIViewPropertyAnimator,在它运行期间我只需调用.pauseAnimation()
并将.isReversed
属性更改为true。之后我恢复动画调用:
此时在 iOS10 上,动画平滑地改变了他的诗句,在 iOS11 上它立即停止并以位帧延迟反转自身。
如果在代码中我检查了.fractionComplete
(在我的 UIViewPropertyAnimator 对象上调用它会以百分比值返回动画的完成,从 0.0 开始到 1.0 结束)的值.continueAnimation(...
- 在 iOS 10 上它会保留片刻,例如 if动画仍在继续,只有在一小部分时间跳转到他的互补之后。
- 在 iOS 11 上,它突然跳到他的补充
上 在文档中没有与此相关的更新,只是 UIViewPropertyAnimator 的几个新属性但没有使用,因为我的目标是 iOS10
可能是一个错误或者我错过了什么!?
小更新:刚刚测试过,在 iOS 11.0.1 和 iOS 11.1 beta1 上的行为相同
正如评论中所链接的,这只发生在非线性曲线上!
ios - 自动布局的 UIViewPropertyAnimator 问题
这是我尝试根据 Apple WWDC 但使用自动布局重复的代码:
现在我只是在测试点击手势。并且有两个主要问题:
1) 点击识别器在动画期间无法正常工作。但是在苹果WWDC中,他们改变了框架(不是像我这样的限制)并且点击识别器工作得很好
2)如果我改变反向属性,它会改变约束非常糟糕。我有额外的条带等等
3)我尝试了两种方法来改变动画块之前和内部的约束。没关系,效果一样
任何帮助如何使用自动布局做到这一点?或者至少如何用框架来做,但我的视图控制器是基于自动布局的,所以无论如何我都会对这个底部视图有限制。