我如何将IBAction更改为mouseEntered?

问题描述 投票:-2回答:1

我想在鼠标进入NSButton时创建IBAction。每当我从该按钮创建IBAction时,只有在单击它时它才起作用。

如何使鼠标进入按钮时IBAction起作用?

swift macos cocoa ibaction
1个回答
1
投票

您可以将按钮单元格子类化,并将其属性showsBorderOnlyWhileMouseInside设置为true。然后,您可以简单地覆盖mouseEntered方法:

import Cocoa

class ButtonCell: NSButtonCell {
    override func awakeFromNib() {
        super.awakeFromNib()
        showsBorderOnlyWhileMouseInside = true
    }
    override func mouseEntered(with event: NSEvent) {
        super.mouseEntered(with: event)
        print(#function)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.