Ios NavigationController在按下和弹出后剪切阴影?
当我向navigationBar添加自定义视图时,NavigationController出现问题,并且此视图有阴影,再次按下并弹出时阴影会被剪切 1:-推前查看控制器A 2:-推送后的视图控制器B 3:-弹出后的视图控制器A 它是一个非常简单的类,只包含以下代码Ios NavigationController在按下和弹出后剪切阴影?,ios,swift,uinavigationcontroller,uinavigationbar,Ios,Swift,Uinavigationcontroller,Uinavigationbar,当我向navigationBar添加自定义视图时,NavigationController出现问题,并且此视图有阴影,再次按下并弹出时阴影会被剪切 1:-推前查看控制器A 2:-推送后的视图控制器B 3:-弹出后的视图控制器A 它是一个非常简单的类,只包含以下代码 override func viewDidLoad() { super.viewDidLoad() let view : UIView = UIView(frame: CGRect(x: 0, y: 0, wi
override func viewDidLoad() {
super.viewDidLoad()
let view : UIView = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 40))
view.layer.shadowOpacity = 1
view.layer.shadowOffset = CGSize(width: 1.0, height: 1.0)
view.layer.shadowRadius = 20.0
view.layer.shadowColor = UIColor.green.cgColor
view.clipsToBounds = false
view.layer.masksToBounds = false
view.backgroundColor = UIColor.red
self.navigationController?.navigationBar.topItem?.titleView = view
}
根据一些快速检查
.navigationBar
有一个“contentView”
初次出现时,该contentView将.clipsToBounds
设置为false
将VC推送到堆栈上后,contentView的.clipsToBounds
属性将变为true
这就是为什么一开始你们可以看到阴影
我想你需要找到另一种方法来让自己看起来。。。您可以尝试子类化,但苹果的文档明确指出:
允许使用UINavigationBar类的方法和属性自定义导航栏的外观,但决不能更改其框架、边界或alpha值或直接修改其视图层次
根据一些快速检查
.navigationBar
有一个“contentView”
初次出现时,该contentView将.clipsToBounds
设置为false
将VC推送到堆栈上后,contentView的.clipsToBounds
属性将变为true
这就是为什么一开始你们可以看到阴影
我想你需要找到另一种方法来让自己看起来。。。您可以尝试子类化,但苹果的文档明确指出:
允许使用UINavigationBar类的方法和属性自定义导航栏的外观,但决不能更改其框架、边界或alpha值或直接修改其视图层次