Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何永久更改NSButton的光标?_Objective C_Nsbutton - Fatal编程技术网

Objective c 如何永久更改NSButton的光标?

Objective c 如何永久更改NSButton的光标?,objective-c,nsbutton,Objective C,Nsbutton,我已经使用中的技术为我的NSButton设置了光标,最初效果很好。但是,它会在窗口隐藏后立即中断,然后重新显示(这是一个菜单栏应用程序,因此每次用户在窗口外单击时窗口都会被隐藏)。在这一点上,它将返回到正常光标,并且永远不会返回到指针 有没有办法永久设置NSButton的光标 更新: 我发现,与其说是窗口的显示/隐藏杀死了光标,不如说是因为它正在移动到另一个应用程序,然后又向后移动。如果我只是通过反复单击菜单栏图标来显示/隐藏窗口,则光标始终会起作用。但是,只要我单击另一个应用程序,然后单击“

我已经使用中的技术为我的NSButton设置了光标,最初效果很好。但是,它会在窗口隐藏后立即中断,然后重新显示(这是一个菜单栏应用程序,因此每次用户在窗口外单击时窗口都会被隐藏)。在这一点上,它将返回到正常光标,并且永远不会返回到指针

有没有办法永久设置NSButton的光标


更新:

我发现,与其说是窗口的显示/隐藏杀死了光标,不如说是因为它正在移动到另一个应用程序,然后又向后移动。如果我只是通过反复单击菜单栏图标来显示/隐藏窗口,则光标始终会起作用。但是,只要我单击另一个应用程序,然后单击“上一步”,光标就会永远断开(直到我杀死并重新启动该应用程序)。

我发现问题在于,当用户单击该应用程序时,该应用程序没有被放在最前面。它最初位于前端,刚启动应用程序,但单击“离开”,然后单击“返回”会使它出现在前端,但出于某种原因,它不会使它成为“活动窗口”

我绕过了这个问题,通过编程,使用

[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];

正如报告中指出的那样

[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];