如何将阴影添加到导航栏而不是默认边框

ale*_*xjk 8 ios swift swift3

我想UINavigationBar用阴影替换默认边框.有没有办法实现这个目标?我尝试使用与向UIView添加阴影相同的方法,但它增加了我的NavigationBar的高度.

Anb*_*hik 24

试试这个

self.navigationController.navigationBar.layer.shadowColor = UIColor.blackColor().CGColor
self.navigationController.navigationBar.layer.shadowOffset = CGSizeMake(2.0, 2.0)
self.navigationController.navigationBar.layer.shadowRadius = 4.0
self.navigationController.navigationBar.layer.shadowOpacity = 1.0
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

 override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.navigationBar.layer.shadowColor = UIColor.black.cgColor
    self.navigationController?.navigationBar.layer.shadowOffset = CGSize(width: 0.0, height: 2.0)
    self.navigationController?.navigationBar.layer.shadowRadius = 4.0
    self.navigationController?.navigationBar.layer.shadowOpacity = 1.0
    self.navigationController?.navigationBar.layer.masksToBounds = false
 }
Run Code Online (Sandbox Code Playgroud)

输出为

在此输入图像描述