/mac OS 🖥

[macOS] NSWindow.StyleMask 종류 알아보기

아렉스_Arex 2024. 6. 27. 22:33
반응형

 

 

window = NSWindow(contentRect: NSRect(x: 0, y: 0, width: 480, height: 270),
                  styleMask: [.miniaturizable, .closable, .resizable, .titled],
                  backing: .buffered,
                  defer: false)

 

styleMask를 빈 배열로 지정했을 때

이렇게 움직이지도않고, 윈도우에 아무런 조작을 할 수 없는 borderless한 창을 볼 수 있다.

 

 

StyleMask 종류


  • static var borderless: NSWindow.StyleMask 
  • 창은 일반적인 주변 요소를 표시하지 않는다. 표시 또는 캐싱 목적으로만 유용합니다. NSWindowStyleMaskBorderless를 사용하는 창은 canBecomeKey 또는 canBecomeMain의 값이 사실이 아닌 한 키 또는 메인이 될 수 없습니다. 속성 관리자의 모양 섹션에서 제목 표시줄을 선택 해제하여 인터페이스 빌더에서 창 또는 패널의 스타일 마스크를 NSWindowStyleMaskBorderless로 설정할 수 있습니다.
  • static var titled: NSWindow.StyleMask 창의 타이틀 바를 보여준다.

closable , miniaturizable,resizable 프로퍼티들은 타이틀 바가 있어야만 표출되고, 활성화된다.

  • static var closable: NSWindow.StyleMask 창의 닫기 버튼을 보여준다.

  • static var miniaturizable: NSWindow.StyleMask 창의 최소화 버튼을 보여준다.

  • static var resizable: NSWindow.StyleMask 사용자가 창을 리사이즈할 수 있다.

 

불빛이 빨노초 한개씩만 있으니 괜히 어색하기도하다

완전체가 보고싶어졌다

  • static var unifiedTitleAndToolbar: NSWindow.StyleMask 도구 모음을 포함하는 모든 창은 통합 스타일을 사용하기 때문에 이 상수는 효과가 없습니다.
  • static var fullScreen: NSWindow.StyleMask 창은 전체 화면으로 나타날 수 있다. 전체 화면 창은 제목 표시줄을 그리지 않으며, 도구 모음에 대한 특별한 처리가 있을 수 있습니다. (이 마스크는 toggleFullScreen(_:)이 호출될 때 자동으로 전환됩니다.)
  • static var fullSizeContentView: NSWindow.StyleMask
    • 설정되면, 창의 contentView는 창의 전체 크기를 소비합니다. 이 상수를 다른 창 스타일 마스크와 결합할 수 있지만, 제목 표시줄이 있는 창에서만 존중됩니다. 이 마스크를 사용하면 레이어 백킹을 선택한다는 점에 유의하십시오. contentLayoutRect 또는 contentLayoutGuide를 사용하여 제목 표시줄-도구 표시줄 영역 아래에 보기를 배치하십시오.
  • static var utilityWindow: NSWindow.StyleMask 창은 NSPanel의 패널 또는 하위 클래스이다.
  • static var docModalWindow: NSWindow.StyleMask 창은 문서 모달 패널(또는 NSPanel의 하위 클래스)이다.
  • static var nonactivatingPanel: NSWindow.StyleMask 창은 소유 앱을 활성화하지 않는 NSPanel의 패널 또는 하위 클래스입니다.
  • static var hudWindow: NSWindow.StyleMask 창은 HUD 패널이다.

 

https://developer.apple.com/documentation/appkit/nswindow/stylemask