18

当光标位于 NSButton 上方时,如何更改光标?

4

5 回答 5

41

您应该先继承 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;  
于 2012-11-07T09:15:51.020 回答
17
[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];
于 2011-02-08T18:57:34.690 回答
3

按照已经给出的示例,在Swift 5中创建 NSButton 的子类:

import AppKit

class Button: NSButton {
    override func resetCursorRects() {
        addCursorRect(bounds, cursor: .pointingHand)
    }
}
于 2019-04-29T13:32:47.397 回答
-1

如果 NSButton 在 macOS 中,swift 5:

import Cocoa 
class ViewController: NSViewController {

    @IBOutlet weak var titleBtn: NSButton!
        
     override func viewDidLoad() {
       titleBtn.addCursorRect(titleBtn.bounds, cursor: .pointingHand)
     }
}
于 2020-10-02T14:24:14.563 回答
-4

让按钮添加一个光标矩形。

于 2010-05-27T23:11:42.740 回答