【问题标题】:Shadow discoloring the navigation bar阴影使导航栏变色
【发布时间】:2017-03-04 05:10:36
【问题描述】:

阴影出现在导航栏的顶部。无论如何移动栏下方的阴影或添加一些代码使其不会使栏变色?

这是我在导航控制器中使用的代码:

    import UIKit

    class navigationController:UINavigationController, UIViewControllerTransitioningDelegate{


    override func viewDidLoad()
    {
        var appblue = UIColor(red: 109/255, green: 208/255, blue:247/255, alpha: 1.0)
        self.navigationBar.barTintColor = appblue
        self.navigationBar.layer.masksToBounds = false
        self.navigationBar.layer.shadowColor = UIColor.black.cgColor
        self.navigationBar.layer.shadowOpacity = 0.7
        self.navigationBar.layer.shadowOffset = CGSize(width: 0, height: 2.0)
        self.navigationBar.layer.shadowRadius = 4
    }
}

这就是它的样子:

什么时候应该是这个颜色:

有什么建议吗?

这就是我试图让它看起来像(照片购物图片): (顶部栏底部阴影,同时保留第二栏颜色)

【问题讨论】:

  • 在您的 VC 中嵌入导航控制器
  • 您的代码也正确无误,只需在self.navigationBar 中添加self.navigationController?. navigationBar
  • 上面的 viewDidLoad() 函数在一个单独的导航控制器类中,而不是在每个视图控制器类中。
  • 你能附上你的项目吗

标签: ios swift3


【解决方案1】:

在栏的底部添加了一个带有渐变的图像视图来完成我的目标,感谢@Anbu.Karthik 链接了另一个我能够适应的问题。这是我当前的代码:

import UIKit

class navigationController:UINavigationController, UIViewControllerTransitioningDelegate{

override func viewDidLoad()
    {
        var appblue = UIColor(red: 109/255, green: 208/255, blue:247/255, alpha: 1.0)
        self.navigationBar.barTintColor = appblue
        self.navigationBar.layer.masksToBounds = false

        var yPosition = self.navigationBar.layer.frame.height
        var rectWidth = self.navigationBar.layer.frame.width
        let gradient = CAGradientLayer()
        let bottomShadow: UIImageView = UIImageView()
        bottomShadow.frame = CGRect(x: 0, y: yPosition, width: rectWidth, height: 8)
        gradient.frame = bottomShadow.bounds
        gradient.colors = [UIColor.lightGray.cgColor, UIColor(white: 1, alpha: 0).cgColor]

        navigationBar.addSubview(bottomShadow)
        bottomShadow.layer.insertSublayer(gradient, at: 0)
    }
}

【讨论】:

    猜你喜欢
    • 2020-06-27
    • 2017-04-19
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多