gpt4 book ai didi

objective-c - 在 cocoa 屏幕保护程序中禁用鼠标移动退出并构建 UI?

转载 作者:行者123 更新时间:2023-12-03 17:11:02 29 4
gpt4 key购买 nike

我想制作一个具有简约 UI 的交互式屏幕保护程序。为此,我必须禁用或覆盖鼠标移动时退出屏幕保护程序的代码。我怎样才能做到这一点?

而且我发现构建和测试这种屏幕保护程序很乏味。是否有可能只构建一个普通的 cocoa 应用程序并能够将其作为屏幕保护程序运行?

我现在已经搜索和测试了几个小时..但没有结果。我能找到的所有示例、教程都在普通屏幕保护程序上。

啊是的。目的是将交互式 Windows 屏幕保护程序移植到 MacOS ;)

编辑/更新:

好吧,我又近了一步。我以编程方式创建了一个 NSButton 并覆盖了 mousemoveevent。我还使用

使光标在 mousemoved 事件中可见

[NSCursor 取消隐藏]

下一步是弄清楚如何覆盖按键事件,因为 keyUp 和 keyDown 不起作用。

最佳答案

只需将这些方法添加到您的 ScreenSaverView 子类中即可:

// override these so mouse movement won't unsave screen
- (void) mouseEntered: (NSEvent *) theEvent;
{}

- (void) mouseExited: (NSEvent *) theEvent;
{}

// override this so modifier keys won't unsave screen
- (void) flagsChanged: (NSEvent *) theEvent;
{
//gModifierFlags = [theEvent modifierFlags];
}

// override this so key downs won't unsave screen
- (void) keyDown: (NSEvent *) theEvent {
// if you want a key event to wake the screensaver
// have it call [super keyDown:theEvent];
} // keyDown

关于objective-c - 在 cocoa 屏幕保护程序中禁用鼠标移动退出并构建 UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28344697/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com