【发布时间】:2017-04-04 08:03:34
【问题描述】:
大家好!
我的应用有问题。我正在使用 UIViewPropertyAnimator 为我的模糊设置动画。我让模糊效果从 nil (0) 运行到 .light (1),但由于灯光效果太多,我将 UIViewPropertyAnimator 设置为 0.1 (.fractioncomplete = 0.1)。
这很好用!但问题是,如果你离开应用程序(不是杀死,只是通过按主页按钮或转到另一个应用程序离开),它会自动播放并从 0.1 变为 1。
我认为这是一个错误?我希望有人对此有解决方案。
这里有一些图片:(没有足够的声誉直接发布它们)
代码:
let effectView = UIVisualEffectView(effect: nil)
var animator: UIViewPropertyAnimator?
viewdidload:
effectView.frame = view.bounds
effectView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
mainView.addSubview(effectView)
animator = UIViewPropertyAnimator(duration: 1, curve: .linear) {
self.effectView.effect = UIBlurEffect(style: .light)
}
模糊动作(需要先启动/暂停,因为苹果的一个已知错误可以唤醒动画师):
self.animator?.startAnimation()
self.animator?.pauseAnimation()
self.animator?.fractionComplete = CGFloat(0.1)
提前致谢!
【问题讨论】:
-
您可以发布将模糊设置为 0、1 和 0.2 的代码以及包含它的方法吗?您的
viewWillAppearviewDidAppear相关视图控制器的方法中有什么? -
@WladekSurala 感谢您的回复,我已经更新了我的答案。
-
那么你到底是用什么方法在你的动画师上设置这个fractionComplete?
-
@WladekSurala 所以首先,屏幕是正常的,然后你,比如说,按下一个按钮,就会弹出一个视图。带有一些按钮的背景在 blurview 下,当按下按钮时,会调用动作 blur(),您可以在其中找到 fractioncomplete(我的问题中的最后一个代码块)
-
很高兴您提供了此信息,恭喜您提出了第一个好问题,请检查我的答案:)
标签: swift xcode ios10 uiviewpropertyanimator