[英]How to create fade in/out animations in UINavigationItem 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.