我有一个按钮,每当它突出显示时,我都需要更改按钮的图像。我编写了以下代码button.setImage("highlited_image", for: .highlighted)。如果我专门将按钮的状态设置为突出显示,则该代码有效。当按钮的状态发生变化时,如何获取事件?
该属性isHighlighted符合 KVO,您可以添加一个观察者
@IBOutlet weak var button: UIButton!
var observation : NSKeyValueObservation?
override func viewDidLoad() {
super.viewDidLoad()
observation = button.observe(\.isHighlighted, options: [.old, .new], changeHandler: { _, change in
if change.oldValue! != change.newValue! { print(change.newValue!) }
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |