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

        }

  • 相关阅读:
    php与WebservicesNuSOAP的使用说明(转载)
    获取cpu序列号,硬盘ID,网卡MAC地址(转载)
    system.net.sockets.tcplistener
    用VS2005实现软件多语言版本的迅捷开发(转载)
    洛谷P1776 宝物筛选 题解 多重背包
    2013 ACMICPC亚洲区域赛南京站C题 题解 轮廓线DP
    2017 ACMICPC亚洲区域赛北京站J题 Pangu and Stones 题解 区间DP
    洛谷P1385 密令 题解 动态规划
    洛谷P1028 数的计算 题解 动态规划入门题
    洛谷P1029 最大公约数和最小公倍数问题 题解
  • 原文地址:https://www.cnblogs.com/supersr/p/5379016.html
Copyright © 2011-2022 走看看