Cocoa:当它在NSButton上时更改光标

时间:2010-05-27 22:52:18

标签: cocoa cursor nsbutton

如何在光标在NSButton上时更改光标?

5 个答案:

答案 0 :(得分:39)

您应首先将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;  

答案 1 :(得分:17)

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

答案 2 :(得分:1)

在已经给出的example之后,在 Swift 5 中创建NSButton的子类:

import AppKit

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

答案 3 :(得分:-1)

让按钮添加光标矩形。

答案 4 :(得分:-1)

如果macOS中为NSButton,请快速执行5:

"[^abc]"       // matches any character except a, b, or c (negation).
"[^a-zA-Z0-9]" // matches non-alphanumeric characters.