2017-04-08 12 views
0

메신저 OS X 코코아 응용 프로그램을 프로그래밍 방식으로 개발하려고하고 상단에 일반적인 신호등 (닫기, 최소화, 전체 화면) 옵션을 표시하는 제목 표시 줄이있는 창을 표시하려고합니다. 그러나 화면에 창이 표시되면 빈 창이 나타납니다. NSWindow 표시를 구성하지만 성공에 때 나는 NSWindowStyleMask 다른 시도NSWindow에서 프로그래밍 방식으로 제목 표시 줄을 표시하려면 어떻게합니까?

class AppDelegate: NSObject, NSApplicationDelegate { 

let window = NSWindow(contentRect: NSMakeRect(10, 10, 200, 200), 
         styleMask: NSWindowStyleMask.closable, 
         backing: NSBackingStoreType.buffered, defer: true) 

func applicationDidFinishLaunching(_ aNotification: Notification) { 

    self.titleVisibility = .visible; 
    self.titlebarAppearsTransparent = false; 
    self.isMovableByWindowBackground = true; 

    let controller = NSWindowController(window: window) 
    controller.showWindow(self); 

} 

: 여기

내가 사용하고있는 코드입니다.

이것은 내가 볼 것입니다 :

black window with no titlebar

내가 엑스 코드 8.3을 사용하고

+0

http://stackoverflow.com/a/ 빠른 스타일로 쓰기를 시도 할 수 있습니다, 하나에 모두 넣으려면 29339315/2303865 –

+0

.titled ('[.titled, .closable]')를 styleMask에 추가해야한다. 그렇지 않으면 제목 표시 줄과 모든 버튼 (닫기, 크기 조정 및 최소화)이 b e는 숨겨졌다. –

답변

0

10.12에 따라서는 4 개 스타일의 마스크가 필요합니다.

NSWindowStyleMask.closable NSWindowStyleMask.miniaturizable NSWindowStyleMask.resizable NSWindowStyleMask.titled

는 배열을

[NSWindowStyleMask.closable, NSWindowStyleMask.miniaturizable, NSWindowStyleMask.resizable, NSWindowStyleMask.titled] 

를 사용하지만

[.closable, .miniaturizable, .resizable, .titled] 
+0

그는 그들 모두를 필요로하지 않습니다. 그는 styleMask optionSet에 제목을 추가하기 만하면됩니다. –

+0

처음에'.titled' 스타일의 마스크를 시도했지만 예외가 발생했습니다. '2017-04-08 12 : 57 : 25.982647 + 0100 X [8590 : 1030549] *** - [X.XApplication init]의 어설 션 오류입니다. /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1504.82.104/AppKit.subproj/NSApplication.m : 1778' 그리고 제안 된 배열에서도 마찬가지입니다. –

+0

위에 게시 한 링크 확인 –