Вы неправильно создаете UIBarButtonItem
.Вам не нужен просмотр изображения.
Сделайте это следующим образом:
let back = UIImage(named: "header_backarrow")
let backItem = UIBarButtonItem(image: back, style: .plain, target: self, action: #selector(dismissManual))
navigationItem.leftBarButtonItem = backItem
@objc func dismissManual() {
dismiss(animated: true, completion: nil)
}
Обратите внимание, что функция должна быть помечена @objc
.
В зависимости от вашего изображенияи как вы хотите, чтобы оно отображалось, вам может потребоваться создать изображение следующим образом:
let back = UIImage(named: "header_backarrow").withRenderingMode(.alwaysOriginal)
Другой вариант - создать UIButton
с изображением и настройкой для вызова функции dismissManual
.Создайте UIBarButtonItem
с кнопкой в качестве пользовательского представления.
Но проще создать стандартный UIBarButtonItem
, когда все, что у вас есть, это простое изображение или простая строка.