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

pba*_*ski 11 ios swift ios-icons

我想使用一些默认的iOS图标,
在此输入图像描述

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

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

Dha*_*esh 20

你可以这样使用UIBarButtonSystemItem:

let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "someAction")
navigationItem.leftBarButtonItem = button
Run Code Online (Sandbox Code Playgroud)

结果leftBarButtonItem:

在此输入图像描述

如果要将其设置在右侧,可以使用以下代码:

navigationItem.rightBarButtonItem = button
Run Code Online (Sandbox Code Playgroud)

结果rightBarButtonItem:

在此输入图像描述


Nit*_*ain 8

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

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

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

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

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

或使用系统提供的按钮:

let systemBarBtn = UIBarButtonItem(
    barButtonSystemItem: .search,
    target: self, action: #selector(handleClick))
Run Code Online (Sandbox Code Playgroud)

然后将以下任一按钮添加到navigationItem:

navigationItem.leftBarButtonItems = [customImageBarBtn1, customImageBarBtn2]
navigationItem.rightBarButtonItems = [systemBarBtn]
// OR you can use this if there's only one item.
navigationItem.rightBarButtonItem = systemBarBtn
Run Code Online (Sandbox Code Playgroud)

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