如何创建加号栏按钮项
How to create a plus symbol bar button item
如何将 UIBarButtonItem
创建为加号?我尝试给它命名为“+”,但我希望它看起来更像您在使用情节提要时通常会创建的加号。没有背景也没有下划线。
它是提供的条形按钮系统项目之一。
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: YOUR_TARGET, action: YOUR_SELECTOR)
Swift 3.0
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(ViewController.openSearch))
我想这就是你要找的:
Swift 4.2 例子
这是你如何做的:
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addUser))
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = addBarButton
}
@objc private func addUser() {
// Some code, e.g.
let storyboard = UIStoryboard(name: "CreateNewUser", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "createUser") as! CreateUserVC
self.navigationController?.pushViewController(vc, animated: true)
}
重要提示:有一个小问题,许多用户已经指出,我也花了很多时间才弄清楚(iOS 11、12 ) 您必须将 self.navigationItem.rightBarButtonItem = addBarButton
放在 viewDidLoad
函数中,否则按钮的选择器将不起作用。根据 Whosebug 上的其他用户,这与点击手势有关。在我的代码中,我的一个视图控制器在 viewDidLoad
函数之外分配了两个按钮,但也使用了一个隐藏键盘的函数,这可能会导致按钮正常工作。但是,在我不显示或隐藏键盘的其他两个项目的视图控制器中,以编程方式设置导航栏按钮的 #selector
不起作用,除非它们在 viewDidLoad
函数中定义,如示例中所示多于。我希望这个提示可以为您节省大量时间,以防您遇到这个问题。
如何将 UIBarButtonItem
创建为加号?我尝试给它命名为“+”,但我希望它看起来更像您在使用情节提要时通常会创建的加号。没有背景也没有下划线。
它是提供的条形按钮系统项目之一。
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: YOUR_TARGET, action: YOUR_SELECTOR)
Swift 3.0
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(ViewController.openSearch))
我想这就是你要找的:
Swift 4.2 例子
这是你如何做的:
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(addUser))
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = addBarButton
}
@objc private func addUser() {
// Some code, e.g.
let storyboard = UIStoryboard(name: "CreateNewUser", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "createUser") as! CreateUserVC
self.navigationController?.pushViewController(vc, animated: true)
}
重要提示:有一个小问题,许多用户已经指出,我也花了很多时间才弄清楚(iOS 11、12 ) 您必须将 self.navigationItem.rightBarButtonItem = addBarButton
放在 viewDidLoad
函数中,否则按钮的选择器将不起作用。根据 Whosebug 上的其他用户,这与点击手势有关。在我的代码中,我的一个视图控制器在 viewDidLoad
函数之外分配了两个按钮,但也使用了一个隐藏键盘的函数,这可能会导致按钮正常工作。但是,在我不显示或隐藏键盘的其他两个项目的视图控制器中,以编程方式设置导航栏按钮的 #selector
不起作用,除非它们在 viewDidLoad
函数中定义,如示例中所示多于。我希望这个提示可以为您节省大量时间,以防您遇到这个问题。