我正在开发一个需要以编程方式创建Windows的应用程序(脚本语言的GUI功能),而且所有比OSX v10.10更新的版本似乎都没有绘制标题栏。这是调用我的课程的最简单的代码,我可以创建问题:
uint32_t hmslOpenWindow(const char* title, short x, short y, short w, short h) {
NSRect frame = NSMakeRect(x, y, w, h);
NSString *windowTitle = [NSString stringWithCString:title encoding:NSASCIIStringEncoding];
NSWindow* hmslWindow = [[NSWindow alloc] initWithContentRect:frame
styleMask:NSTitledWindowMask | NSClosableWindowMask
backing:NSBackingStoreBuffered
defer:YES];
hmslWindow.title = windowTitle;
[hmslWindow makeKeyAndOrderFront:hmslWindow];
[hmslWindow setBackgroundColor:[NSColor colorWithRed:0.3 green:0.4 blue:0.1 alpha:0.5]];
mainWindow = hmslWindow;
return (uint32_t)hmslWindow.windowNumber;
}
标题栏仍然有效(单击关闭按钮应关闭窗口的位置),窗口标题下的菜单中会显示正确的标题,但不会显示任何内容。
这是窗口的样子。我完全失去了所有帮助。
更新:当我添加[[hmslWindow.contentView superview] addSubview:titleBarView];
时,所有内容都按计划进行,但会出现警告NSWindow warning: adding an unknown subview: <NSView: 0x4344c0>.