Как я могу навсегда изменить курсор для NSButton?
Я установил курсор для моего NSButton, используя технику, описанную в этом вопросе, и это прекрасно работает изначально. Тем не менее, он ломается, как только окно скрыто, а затем снова отображается (это приложение меню, поэтому окно скрывается каждый раз, когда пользователь щелкает за пределами окна). В этот момент он возвращается к обычному курсору и никогда не вернется к указывающей руке.
Есть ли способ навсегда установить курсор для NSButton?
Обновить:
Я обнаружил, что не столько отображение / скрытие окна, которое убивает курсор при его перемещении в другое приложение, а затем назад. Если я просто показываю / скрываю окно, нажимая на значок меню снова и снова, курсор всегда ведет себя. Но как только я нажимаю на другое приложение и затем нажимаю назад, курсор навсегда ломается (пока я не убью и не перезапущу приложение).
1 ответ
Я обнаружил, что проблема была в том, что приложение не выводилось на передний план, когда пользователь нажимал на него. Первоначально он был спереди, сразу после запуска приложения, но щелчок мышью, а затем щелчок назад заставлял его появляться спереди, но по некоторым причинам он НЕ делал его "активным окном".
Я обошел проблему, программно форсируя ее, используя либо
[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];
или же
[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];
как указано в этом вопросе.