我展示的是一个模态视图控制器,它的背景是一个带有.light类型的UIBlurEffect的UIVisualEffectView
我展示的模式视图控制器如下所示:
infoViewController.modalPresentationStyle = .overFullScreen
infoViewController.modalTransitionStyle = .crossDissolve
self.present(infoViewController, animated: true, completion: nil)我注意到模糊效果视图直到crossDissolve动画完成才会出现。对于其他转换样式,例如coverVertical,情况并非如此。
这只发生在带有Swift 3的iOS 10上。
如何让crossDissolve动画与infoViewController上的视觉效果视图一起工作。有什么建议/变通方法吗?
发布于 2016-11-08 23:22:03
我所做的是将crossDisolve替换为CATransition,如下所示:
self.present(controller,
animated: false,
completion: nil)
let transition = CATransition()
transition.duration = 0.3
transition.type = kCATransitionFade
view.window?.layer.add(transition, forKey: nil)希望能有所帮助。
发布于 2017-02-07 16:15:11
去查查你的领事,你应该会看到原因-
<_UIPopoverBackgroundVisualEffectView 0x7fe053562840>被要求对其不透明度进行动画处理。这将导致效果显示为断开,直到不透明度恢复为1。
您不能在crossDissolve动画中使用UIVisualEffectView ...
https://stackoverflow.com/questions/40086097
复制相似问题