zoukankan      html  css  js  c++  java
  • swift隐藏显示导航栏的底线

    //

    //  UIBarExtension.swift

    //  sinaDemo

    //

    //  Created by admin on 17/4/21.

    //  Copyright © 2017 super. All rights reserved.

    //   为了隐藏导航栏的底线

     

    import Foundation

    import UIKit

     

    extension UINavigationBar {

        // 隐藏线

        func hideBottomHairline() {

            let navigationBarImageView = hairlineImageViewInNavigationBar(view: self)

            navigationBarImageView!.isHidden = true

        }

        

        // 显示线

        func showBottomHairline() {

            let navigationBarImageView = hairlineImageViewInNavigationBar(view: self)

            navigationBarImageView!.isHidden = false

        }

        

        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

        }

    }

     

    extension UIToolbar {

        

        func hideHairline() {

            let navigationBarImageView = hairlineImageViewInToolbar(view: self)

            navigationBarImageView!.isHidden = true

        }

        

        func showHairline() {

            let navigationBarImageView = hairlineImageViewInToolbar(view: self)

            navigationBarImageView!.isHidden = false

        }

        

        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

        }

    }

     

     

    // 隐藏调用

      // 为了控制导航栏的状态颜色  底线

        override func viewWillAppear(_ animated: Bool) {

            super.viewWillAppear(true)

     

            UIApplication.shared.statusBarStyle = .lightContent

     

            let navigationBar = self.navigationController?.navigationBar

                navigationBar?.hideBottomHairline()

        }

     

     

    // 显示调用

       override func viewWillDisappear(_ animated: Bool) {

            let navigationBar = self.navigationController?.navigationBar

                navigationBar?.showBottomHairline()

        }

  • 相关阅读:
    Mac安装LightGBM
    用于视频超分辨率的可变形三维卷积
    ORB-SLAM3 单目地图初始化(终结篇)
    重用地图的单目视觉惯导SLAM系统
    2020,我的秋招感悟!
    超详细解读ORB-SLAM3单目初始化(下篇)
    基于改进的点对特征的6D位姿估计
    深入研究自监督单目深度估计:Monodepth2
    ORB-SLAM3 细读单目初始化过程(上)
    基于视觉和惯性传感器的移动机器人手遥操作系统
  • 原文地址:https://www.cnblogs.com/supersr/p/5379016.html
Copyright © 2011-2022 走看看