在 NavigationBar 上方添加 UIView
Add UIView above NavigationBar
我需要在 Swift 中的状态栏和导航栏之间放置一个 UIView。
我看过很多答案,但 none 似乎有效。
这是我的代码
let newView = UIView()
let label = UILabel()
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
let rootVC: HomeVC = UIStoryboard(.Home).instantiateViewController()
navController = UINavigationController(rootViewController: rootVC)
self.window?.rootViewController = self.navController
self.window?.makeKeyAndVisible()
任何帮助将不胜感激
你忘记设置视图框架和标签了,点赞
let newView = UIView()
newView.frame = CGRect(x:0,y:UIApplication.shared.statusBarFrame.height, width: view.frame.size.width, height: self.navigationController!.navigationBar.frame.height)
newView.backgroundColor = UIColor.red
let label = UILabel()
label.frame = newView.bounds
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
你得到 OP 作为
选项 2
根据您的要求
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// Do any additional setup after loading the view, typically from a nib.
let newView = UIView()
newView.frame = CGRect(x:0,y:UIApplication.shared.statusBarFrame.height, width: view.frame.size.width, height: 30)
newView.backgroundColor = UIColor.red
let label = UILabel()
label.frame = newView.bounds
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: newView.frame.size.height + newView.frame.origin.y, width: bounds.width, height: bounds.height )
}
我需要在 Swift 中的状态栏和导航栏之间放置一个 UIView。
我看过很多答案,但 none 似乎有效。
这是我的代码
let newView = UIView()
let label = UILabel()
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
let rootVC: HomeVC = UIStoryboard(.Home).instantiateViewController()
navController = UINavigationController(rootViewController: rootVC)
self.window?.rootViewController = self.navController
self.window?.makeKeyAndVisible()
任何帮助将不胜感激
你忘记设置视图框架和标签了,点赞
let newView = UIView()
newView.frame = CGRect(x:0,y:UIApplication.shared.statusBarFrame.height, width: view.frame.size.width, height: self.navigationController!.navigationBar.frame.height)
newView.backgroundColor = UIColor.red
let label = UILabel()
label.frame = newView.bounds
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
你得到 OP 作为
选项 2
根据您的要求
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// Do any additional setup after loading the view, typically from a nib.
let newView = UIView()
newView.frame = CGRect(x:0,y:UIApplication.shared.statusBarFrame.height, width: view.frame.size.width, height: 30)
newView.backgroundColor = UIColor.red
let label = UILabel()
label.frame = newView.bounds
label.text = "header"
newView.addSubview(label)
UIApplication.shared.keyWindow?.addSubview(newView)
let bounds = self.navigationController!.navigationBar.bounds
self.navigationController?.navigationBar.frame = CGRect(x: 0, y: newView.frame.size.height + newView.frame.origin.y, width: bounds.width, height: bounds.height )
}