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()

        }

  • 相关阅读:
    vue ui 没反应
    vue脚手架安装教程
    DOS命令如何进入指定文件夹
    python-格式化(%,format,f-string)输出+输入
    Python基础-列表、元组、字典、字符串(精简解析)
    python中的lambda函数用法
    初识JAVA
    关于继承、封装、多态、抽象和接口(Java)
    Python中单下划线和双下划线
    Postgresql 创建SEQUENCE,Springboot中使用KeyHolder
  • 原文地址:https://www.cnblogs.com/supersr/p/5379016.html
Copyright © 2011-2022 走看看