如何将UIBarButtonItem
创建为加号?我尝试给它标题“+”,但我希望它看起来更像你通常创建的加号,如果你使用故事板。没有背景或下划线。
答案 0 :(得分:8)
这是提供的栏按钮系统项目之一。
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: YOUR_TARGET, action: YOUR_SELECTOR)
答案 1 :(得分:3)
我认为这就是你要找的东西:
答案 2 :(得分:2)
Swift 3.0
let addBarButton = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(ViewController.openSearch))
答案 3 :(得分:0)
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),您必须将{{1 }}内的self.navigationItem.rightBarButtonItem = addBarButton
函数中,否则按钮的选择器将不起作用。与StackOverflow上的其他用户一样,这与点击手势有关。在我的代码中,我的一个视图控制器在viewDidLoad
函数外部分配了两个按钮,但是还使用了一个隐藏键盘的函数,这可能会使按钮正常工作。但是,在我没有显示或隐藏键盘的其他两个项目的视图控制器中,以编程方式设置的导航栏按钮的viewDidLoad
无法正常工作,除非它们在示例中的#selector
函数中定义了以上。我希望本技巧将为您节省大量时间,以防您遇到此问题。