Рабочий код для меня.
let button = UIButton(type: .custom)
button.setImage(UIImage (named: "your_image"), for: .normal)
button.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
button.backgroundColor = UIColor.clear
button.setTitle("Button", for: .normal)
button.addTarget(self, action: #selector(self.clickOnButton), for: .touchUpInside)
self.navigationItem.titleView = button
Здесь вы можете видеть, что в последней строке кнопка прямо установлена на titleView навигационного элемента, который добавит кнопку в центр панели навигации.
Метод действия для кнопки ниже:
@objc func clickOnButton(button: UIButton) {
print("Title Tapped")
}