【发布时间】:2018-09-17 00:31:55
【问题描述】:
我正在尝试淡出已添加为UIViewController 导航项titleView 的UILabel。在 iOS 11 及更低版本上,以下代码正确淡出标签。在 iOS 12 上运行时,淡入 in 动画有效,但淡出 out 没有动画 - 视图立即消失。
let fadeTextAnimation = CATransition()
fadeTextAnimation.type = .fade
fadeTextAnimation.duration = 0.5
navigationItem.titleView!.layer.add(fadeTextAnimation, forKey: nil)
(navigationItem.titleView as! UILabel).isHidden = didShowNavigationItemTitle
我也尝试将代码更改为使用UIView.transition,但观察到相同的行为。
UIView.transition(with: navigationItem.titleView!,
duration: 0.5,
options: .transitionCrossDissolve,
animations: {
(self.navigationItem.titleView as! UILabel).isHidden = self.didShowNavigationItemTitle
}, completion: nil)
如何在 iOS 12 中实现这种淡出效果?
【问题讨论】:
-
你尝试过其他动画类型/子类型吗?他们有类似的问题吗?
-
我现在尝试了一些其他的动画类型:它们的动画效果似乎正确......
标签: ios swift uikit uiviewanimation ios12