默认NSRecessedBezelStyle NSButton可视错误?

时间:2012-02-28 20:20:13

标签: macos cocoa nsbutton

我有一个基本的NSRecessedBezelStyle NSButton通过IB添加到NSView。为什么字体在未选择的状态下搞乱了?这是正常的吗?

正如你所看到的那样,当按下凹进的按钮看起来很好,但是没有按下它是纯黑色而没有阴影。我错过了某处非常明显的东西吗?我尝试使用setAttributedTitlesetAttributedAlternateTitle进行混乱,但是推动机制推动产生了奇怪的结果。

1 个答案:

答案 0 :(得分:1)

这是NSRecessedBezelStyle的预期行为,默认为“Push On Push Off”类型,在On状态下为bezeled,在OFF时为纯文本,另外您可以更改Type以使挡板仅在悬停时显示,这里是代码使它变灰。

NSMutableDictionary *attrsDictionary = [NSMutableDictionary dictionaryWithCapacity:1];                
[attrsDictionary setObject:[NSColor grayColor] forKey:NSForegroundColorAttributeName];
[attrsDictionary setObject:[NSFont boldSystemFontOfSize:12.0] forKey:NSFontAttributeName];      
NSMutableParagraphStyle *paragraph = [[[NSMutableParagraphStyle alloc] init] autorelease];
[paragraph setAlignment:NSCenterTextAlignment];
[attrsDictionary setObject:paragraph forKey:NSParagraphStyleAttributeName];    
NSAttributedString *str = [[[NSAttributedString alloc] initWithString:@"Button" attributes:attrsDictionary] autorelease];
[button setAttributedTitle:str];