繁体   English   中英

如何在iOS 12上淡出titleView标签

[英]How to fade out a titleView label on iOS 12

我正在尝试淡出UILabel ,它已被添加为UIViewController的导航项的titleView 在iOS 11及更低版本中,以下代码正确淡出标签。 当iOS上运行12, 动画褪色的作品,但淡出不动画-视图立即消失。

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中实现这一淡出效果?

只需使用UIView.animate块并为标题视图的alpha设置动画。

UIView.animate(withDuration: 0.5, delay: 0, options: .transitionCrossDissolve, animations: {
    self.navigationItem.titleView?.alpha = 0
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM