使用 Swift 在 iOS 中以程式設計方式新增導航欄


要以程式設計方式新增導航欄,我們將按照下面提到的步驟進行。我們將在 viewController 的 ViewWillLayoutSubviews 方法中完成此操作。

獲取當前檢視的寬度。

let width = self.view.frame.width

建立一個導航欄,其寬度等於當前檢視的寬度,高度為 44 px,即導航欄的預設高度。

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

當我們執行此示例時,其結果應如下所示。

更新於:2019 年 7 月 30 日

3K+ 瀏覽量

開啟您的 職業生涯

完成課程獲得認證

開始
廣告