Cocoa:当光标位于 NSButton 上时更改光标

发布于 2024-09-03 09:58:59 字数 31 浏览 8 评论 0原文

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

How can I change the cursor when it's over an NSButton?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

荆棘i 2024-09-10 09:58:59

您应该首先子类化 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;  

You should subclass NSButton first, then add the code below.

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

Now you can set cursor as you like.

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

Note: add cursor as a property of your subclass, like this:

@property (strong) NSCursor *cursor;  
情定在深秋 2024-09-10 09:58:59
[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];
[yourButton addCursorRect:[yourButton bounds] cursor:[theCursorYouWant]];
人│生佛魔见 2024-09-10 09:58:59

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

import AppKit

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

Following the already given example, creating a subclass of NSButton in Swift 5:

import AppKit

class Button: NSButton {
    override func resetCursorRects() {
        addCursorRect(bounds, cursor: .pointingHand)
    }
}
恋你朝朝暮暮 2024-09-10 09:58:59

如果 macOS 中为 NSButton,则为 swift 5:

import Cocoa 
class ViewController: NSViewController {

    @IBOutlet weak var titleBtn: NSButton!
        
     override func viewDidLoad() {
       titleBtn.addCursorRect(titleBtn.bounds, cursor: .pointingHand)
     }
}

If NSButton in macOS, swift 5:

import Cocoa 
class ViewController: NSViewController {

    @IBOutlet weak var titleBtn: NSButton!
        
     override func viewDidLoad() {
       titleBtn.addCursorRect(titleBtn.bounds, cursor: .pointingHand)
     }
}
南城旧梦 2024-09-10 09:58:59

让按钮添加光标矩形。

Have the button add a cursor rect.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文