使用 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+ 浏览量

开启您的 职业生涯

完成课程获得认证

开始
广告