如何向导航栏添加/使用默认图标
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
我想使用一些默认值 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