新微博提示条

在 NavigationBar 下添加控件,实现新浪微博的 “xx条新微博” 顶部提示条效果
最初通过 "addSubviews" 或 "insertSubview , at: 0" 方法并没有添加到 NavigationBar 之下,经过查看层级发现最底部的控件为 UIBarBackgroundView,那索性就拿出它,然后再添加到它之下就好了

// 1. 添加到 navigationBar 中
        /*
         先提取出 NavigationBar 的子控件中 index 为 0 的 View, 
         再将 “顶部提示 Label” 添加到 此子控件之下, 
         来实现一个控件在 NavigationBar 之下的显示效果
         */

        // NavigationBar 最低层级的 UIBarBackgroundView
        let barBackground = navigationController?.navigationBar.subviews.first
        
        barBackground?.insertSubview(tipLabel, at: 0)
        
        // 2. 设置 frame
        tipLabel.frame = CGRect(x: 0, y: 34, width: UIScreen.main.bounds.size.width, height: 30)
        
        // 3. 设置属性
        tipLabel.backgroundColor = UIColor.red
        tipLabel.tintColor = UIColor.white
        tipLabel.font = UIFont.systemFont(ofSize: 14)
        tipLabel.textAlignment = .center
        tipLabel.isHidden = true

你可能感兴趣的:(新微博提示条)