代码之家  ›  专栏  ›  技术社区  ›  Andrew Bennet

如何在iOS 12上淡出标题视图标签

  •  3
  • Andrew Bennet  · 技术社区  · 7 年前

    我想淡出 UILabel 已添加为 UIViewController titleView 在里面 动画工作,但褪色 外面的 不设置动画-视图立即消失。

    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中实现这种淡出?

    1 回复  |  直到 7 年前
        1
  •  1
  •   glyvox    7 年前

    就用一个 UIView.animate 阻止标题视图的alpha并设置其动画。

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