使用 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() { } }
当我们执行此示例时,其结果应如下所示。
广告