将自定义按钮添加到导航控制器

Add custom button to navigation controller

所以我想在我的导航控制器中添加一个带有自定义背景图像的自定义设置按钮。目前我尝试这样做:

        func viewDidLoad() {
            super.viewDidLoad()
            
            /// Settings button:
            let settingsButton = UIButton(frame: CGRect(x: 0, y: 0, width: 30, height: 30))
            settingsButton.setImage(UIImage(named: "Configuration Icon"), for: .normal)
            settingsButton.addTarget(self, action: #selector(configurationTapped), for: .touchUpInside)
            self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: settingsButton)
        }

当我点击这个按钮时,configurationTapped 被触发,但问题是当我把它放在导航控制器外面时,按钮不会像往常一样闪烁。

我该如何解决这个问题??
我应该在每次调用操作时创建自定义动画,还是我在这里遗漏了什么?

let yourButton = UIBarButtonItem(image: yourImage, style: .done, target: self, action: #selector(yourSelector))
self.navigationItem.rightBarButtonItem = yourButton

您可以对一个按钮使用属性:

settingsButton.showsTouchWhenHighlighted = true

Apple Doc 说,“一个布尔值,用于确定点击按钮是否会使其发光。