Swift 在没有导航控制器的情况下将栏按钮项目添加到导航栏

Adding bar button items to nav bar without navigation controller in Swift

我正在尝试向 自定义 导航栏的每一侧添加多个栏按钮项。

我正在使用以下方法,但没有显示任何内容。

Obj-C 中有一些关于此的主题,但我正在努力翻译语法。在 Swift?

中有解决方法吗?
@IBOutlet weak var navBar: UINavigationBar!

    override func viewDidLoad() {
        var iconOne = UIImage(named: "iconOne")
        var iconTwo = UIImage(named: "iconTwo")

        var buttonOne:UIBarButtonItem = UIBarButtonItem(image: iconOne, style: UIBarButtonItemStyle.Plain, target: self, action: nil)
        var buttonTwo:UIBarButtonItem = UIBarButtonItem(image: iconTwo, style: UIBarButtonItemStyle.Plain, target: self, action: nil)

        self.navBar.setItems([buttonOne,buttonTwo], animated: true)
    }

如果您使用的是故事板,请拖动 Navigation Bar,然后将 Navigation Item 拖动到导航栏上。

然后为您的 UINavigationitem

连接一个 IBOutlet
@IBOutlet weak var navItem: UINavigationItem!

override func viewDidLoad() {
    super.viewDidLoad()

    let navBarButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Bookmarks, target: self, action: nil)
    navItem.leftBarButtonItem = navBarButton
}

您还可以使用代码:

let navbar = UINavigationBar(frame: CGRect(x: 0, y: 20,
    width: UIScreen.mainScreen().bounds.size.width, height: 50))
navbar.tintColor = .lightGray
self.view.addSubview(navbar)

let navItem = UINavigationItem(title: "Test")
let navBarButton = UIBarButtonItem(barButtonSystemItem: .bookmarks, target: self, action: nil)
navItem.leftBarButtonItem = navBarButton

navbar.items = [navItem]