在 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