ในการเพิ่มแถบการนำทางโดยทางโปรแกรม เราจะดำเนินการตามขั้นตอนต่างๆ ที่กล่าวถึงด้านล่าง เราจะทำสิ่งนี้ในเมธอด ViewWillLayoutSubviews ของ viewController ของเรา
รับความกว้างของมุมมองปัจจุบัน
let width = self.view.frame.width
การสร้างแถบการนำทางที่มีความกว้างของมุมมองปัจจุบันและความสูง 44 พิกเซล ซึ่งเป็นความสูงเริ่มต้นของแถบนำทาง
let navigationBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: width, height: 44))
เพิ่มแถบการนำทางที่สร้างขึ้นใหม่ในมุมมองของเรา
self.view.addSubview(navigationBar)
เราสามารถขยายตัวอย่างนี้เพิ่มเติมเพื่อเพิ่มชื่อและปุ่มในมุมมองของเรา ผลลัพธ์ที่สมบูรณ์ควรมีลักษณะเหมือนคลาสด้านล่าง
class ViewController: UIViewController {
override func viewWillLayoutSubviews() {
let width = self.view.frame.width
let navigationBar: UINavigationBar = UINavigationBar(frame: CGRect(x: 0, y: 0, width: width, height: 44))
self.view.addSubview(navigationBar);
let navigationItem = UINavigationItem(title: "Navigation bar")
let doneBtn = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.done, target: nil, action: #selector(selectorX))
navigationItem.rightBarButtonItem = doneBtn
navigationBar.setItems([navigationItem], animated: false)
}
override func viewDidLoad() {
super.viewDidLoad()
}
@objc func selectorX() { }
} เมื่อเรารันตัวอย่างนี้ ผลลัพธ์ของเราควรมีลักษณะดังนี้
