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]
我正在尝试向 自定义 导航栏的每一侧添加多个栏按钮项。
我正在使用以下方法,但没有显示任何内容。
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]