Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Macos 如何在NSWindow的透明标题栏上禁用默认光标?_Macos_User Interface_Cocoa - Fatal编程技术网

Macos 如何在NSWindow的透明标题栏上禁用默认光标?

Macos 如何在NSWindow的透明标题栏上禁用默认光标?,macos,user-interface,cocoa,Macos,User Interface,Cocoa,我使用以下方法创建具有透明标题的NSL窗口: 设置标题可选项:NSWindowTitleHidden SetTitleBarAppearTransparent:是 赛特:没有 该样式包括NSWindowsTypeMaskFullSizeContentView。窗口变得无标题,缩放和全屏模式工作良好。一切正常,除了鼠标光标。当我将其移动到标题栏所在的区域(如果标题栏可见)时,它将成为默认的标题栏 是否可以覆盖此行为,以便鼠标光标形状由窗口内容(使用addCursorRect)定义?透明标题栏和

我使用以下方法创建具有透明标题的NSL窗口:

  • 设置标题可选项:NSWindowTitleHidden
  • SetTitleBarAppearTransparent:是
  • 赛特:没有
该样式包括NSWindowsTypeMaskFullSizeContentView。窗口变得无标题,缩放和全屏模式工作良好。一切正常,除了鼠标光标。当我将其移动到标题栏所在的区域(如果标题栏可见)时,它将成为默认的标题栏


是否可以覆盖此行为,以便鼠标光标形状由窗口内容(使用addCursorRect)定义?

透明标题栏和无标题栏之间存在差异。听起来你有一个带有透明标题栏的窗口,但你想要一个没有标题栏的窗口

如果根本不需要标题栏,则需要确保窗口的
styleMask
没有
nswindowstylemasktitle

如果在xib或故事板中创建窗口,可以在窗口的属性检查器中关闭“标题栏”复选框

如果在代码中创建窗口,可以使用
initWithContentRect:styleMask:backing:defer:
初始值设定项设置
styleMask
,也可以在创建后设置
styleMask

例如,此行将从现有窗口的
styleMask
中删除
NSWindowStyleMaskTitled
位:

self.window.styleMask &= ~NSWindowSytleMaskTitled;

我终于做到了。但也有一些区别:窗口的角变得尖锐(不是圆的),窗口失去了按正常方式缩放、最小化和关闭的能力。