在我的应用程序中,我使用-setStyleMask
来更改样式。
我正在使用NSTitledWindowMask
标记来显示/隐藏标题栏。
我遇到的问题是,当我隐藏窗口的标题栏并通过在样式掩码中设置它再次使其可见时,窗口的标题现在不再出现在标题栏中。
在隐藏标题栏之前,窗口上的标题意味着在标题栏可见后在窗口上不可见。
是否有我遗漏的东西,或者这是Cocoa中的预期行为。
代码:
void ShowTitlebar(bool pShowTitlebar)
{
NSUInteger mask = [window styleMask];
if(pShowTitlebar) {
mask |= NSTitledWindowMask;
} else {
mask &= ~NSTitledWindowMask;
}
[window setStyleMask:mask];
}
答案 0 :(得分:1)
在设置WindowMask窗口后调用setTitle
方法。
-(void) ShowTitlebar : (bool) pShowTitlebar
{
NSUInteger mask = [self.window styleMask];
NSLog(@"mask %lu",mask);
if(pShowTitlebar) {
mask |= NSTitledWindowMask;
} else {
mask &= ~NSTitledWindowMask;
}
[self.window setStyleMask:mask];
[self.window setTitle:@"title"];
}