添加nav的纯色背景有好几种方法:最简单是添加一个navigationBar的backgroundImage,但是这种方法会导致一种奇葩问题,就是viewcongtroller的view布局出现错误,如下图。
出现一个黑边
于是我又想到往nav下面自己添加一个纯色view,于是遍历一遍view的位置找到合适位置加入到里面:
for v in self.navigationBar.subviews{
if v.classForCoder == NSClassFromString("_UIBarBackground") {
for littelV in v.subviews{
if littelV.bounds == CGRect(x: 0, y: 0, width:
UIScreen.main.bounds.width
, height: 44 ) {print("littelV.bounds=====\(littelV.bounds)")
let backV = UIView(frame: CGRect(x: 0, y: 0, width: YFScreenWidth, height: 64))
backV.backgroundColor = UIColor(rgb:0x705187)
littelV.addSubview(backV)
}
}
}
}