在我的应用程序中,我使用-setStyleMask
来更改样式。
我正在使用NSTitledWindowMask
标志来显示/隐藏标题栏。
我面临的问题是,当我隐藏窗口的标题栏并通过在样式掩码中设置它使其再次可见时,窗口的标题现在不再出现在标题栏中。
意味着隐藏标题栏之前窗口上的标题在使标题栏可见之后在窗口上不可见。
是我遗漏了什么,还是这是Cocoa的预期行为。
代码:
void ShowTitlebar(bool pShowTitlebar)
{
NSUInteger mask = [window styleMask];
if(pShowTitlebar) {
mask |= NSTitledWindowMask;
} else {
mask &= ~NSTitledWindowMask;
}
[window setStyleMask:mask];
}
设置窗口StyleMask后调用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"];
}