当光标超过nsbutton时,我该如何更改光标?

有帮助吗?

解决方案

[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];

其他提示

您应该首先子类NSBUTTON,然后添加下面的代码。

- (void)resetCursorRects
{
    if (self.cursor) {
        [self addCursorRect:[self bounds] cursor: self.cursor];
    } else {
        [super resetCursorRects];
    }
}

现在,您可以根据需要设置光标。

[self.button setCursor:[NSCursor pointingHandCursor]];

注意:添加 cursor 作为子类的财产,这样:

@property (strong) NSCursor *cursor;  

遵循已经给出的 例子, ,在 Swift 5:

import AppKit

class Button: NSButton {
    override func resetCursorRects() {
        addCursorRect(bounds, cursor: .pointingHand)
    }
}

让按钮添加光标矩形。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top