Как добавить/использовать значки по умолчанию для панели навигации
Я хочу использовать некоторые значки iOS, т.е.
![введите описание изображения здесь]()
в навигационной панели.
В основном я не знаю, как вызвать изображение этого элемента (непосредственно из родной библиотеки - я знаю, как его загрузить и разместить как пользовательское изображение:)):
var myButton:UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
myButton.addTarget(self, action: "reload", forControlEvents: UIControlEvents.TouchUpInside)
myButton.setImage(???, forState: <#UIControlState#>)
Ответы
Ответ 1
Вы можете использовать UIBarButtonSystemItem
следующим образом:
let button = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "someAction")
navigationItem.leftBarButtonItem = button
Результат для leftBarButtonItem
:
![введите описание изображения здесь]()
Если вы хотите установить его с правой стороны, вы можете использовать этот код:
navigationItem.rightBarButtonItem = button
Результат для rightBarButtonItem
:
![введите описание изображения здесь]()
Ответ 2
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.leftBarButtonItems = [customImageBarBtn1, customImageBarBtn2]
navigationItem.rightBarButtonItems = [systemBarBtn]
// OR you can use this if there only one item.
navigationItem.rightBarButtonItem = systemBarBtn
Для пользовательских изображений: в качестве начального размера изображения 22ptx22pt
хорошо 22ptx22pt
для стандартного размера 22ptx22pt
навигации iPhone.
Ответ 3
В Свифте 4.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