在 基类控制器(BaseViewController)中 定义方法
直接上代码:
//MARK: - 隐藏NavigationBar下面的黑线
public func hideNavBottomHairline(hide: Bool) {
let navigationBarImageView = hairlineImageViewInNavigationBar(view: self.navigationController!.navigationBar)
navigationBarImageView?.isHidden = hide
}
private func hairlineImageViewInNavigationBar(view: UIView) -> UIImageView? {
if view.isKind(of: UIImageView.self) && view.bounds.height <= 1.0 {
return (view as! UIImageView)
}
let subviews = (view.subviews as [UIView])
for subview: UIView in subviews {
if let imageView: UIImageView = hairlineImageViewInNavigationBar(view: subview) {
return imageView
}
}
return nil
}
//MARK: - 隐藏toolbar下面的黑线
public func hideHairlineInToolbar(hide: Bool) {
let toolbarHairlineImageView = hairlineImageViewInToolbar(view: self.tabBarController!.tabBar)
toolbarHairlineImageView?.isHidden = hide
}
private func hairlineImageViewInToolbar(view: UIView) -> UIImageView? {
if view.isKind(of: UIImageView.self) && view.bounds.height <= 1.0 {
return (view as! UIImageView)
}
let subviews = (view.subviews as [UIView])
for subview: UIView in subviews {
if let imageView: UIImageView = hairlineImageViewInToolbar(view: subview) {
return imageView
}
}
return nil
}
//MARK: - viewWillAppear
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
//调用
//隐藏NavigationBar下面的黑线
super.hideNavBottomHairline(hide: true)
}