如何向导航栏添加/使用默认图标

How to add / use default icons to navigation bar

我想使用一些默认值 iOS icons

在导航栏中。
基本上我不知道如何调用该项目的图像(直接从本机库 - 我知道如何下载它并将其作为自定义图像放置:)):

   var myButton:UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
   myButton.addTarget(self, action: "reload", forControlEvents: UIControlEvents.TouchUpInside)
   myButton.setImage(???, forState: <#UIControlState#>)

您可以这样使用UIBarButtonSystemItem

let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "someAction")
navigationItem.leftBarButtonItem = button

leftBarButtonItem的结果:

如果你想把它设置在右边,你可以使用这个代码:

navigationItem.rightBarButtonItem = button

rightBarButtonItem 的结果:

Swift:这些是最常用的选项:

要使用具有原始颜色的自定义图像:

let customImageBarBtn1 = UIBarButtonItem(
    UIImage(named: "someImage.png").withRenderingMode(.alwaysOriginal),
    style: .plain, target: self, action: #selector(handleClick))

要使用带有色调的自定义图像:

let customImageBarBtn2 = UIBarButtonItem(
    UIImage(named: "someImage.png").withRenderingMode(.alwaysTemplate),
    style: .plain, target: self, action: #selector(handleClick))

或使用系统提供的按钮:

let systemBarBtn = UIBarButtonItem(
    barButtonSystemItem: .search,
    target: self, action: #selector(handleClick))

然后将这些按钮中的任何一个添加到 navigationItem:

navigationItem.leftBarButtonItems = [customImageBarBtn1, customImageBarBtn2]
navigationItem.rightBarButtonItems = [systemBarBtn]
// OR you can use this if there's only one item.
navigationItem.rightBarButtonItem = systemBarBtn

对于自定义图片: 作为起始尺寸,22ptx22pt 图片适用于默认的 iPhone 导航栏尺寸。

在swift4.3

let btnRefresh = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.refresh, target: self, action: #selector(targeted function to invoke))

   //If you want icon in left side
    navigationItem.leftBarButtonItem = btnRefresh

   //If you want icon in right side
    navigationItem.rightBarButtonItem = btnRefresh