2012-02-28 36 views
1

我有一個基本的NSRecessedBezelStyleNSButton通過IB添加到NSView。爲什麼字體在其未選定狀態下混亂?這是正常的嗎?默認NSRecessedBezelStyle NSButton視覺錯誤?

正如你所看到的,當推凹陷按鈕看起來不錯,但未按它是純黑色,沒有陰影。我錯過了某處真的很明顯的東西嗎?我試圖用setAttributedTitlesetAttributedAlternateTitle搞亂,但是在推動機械師的推動下取得了奇怪的結果。

回答

1

這是NSRecessedBezelStyle的預期行爲,默認的「推送推送」類型在開啓狀態下處於打開狀態,純文本處於關閉狀態,此外,您可以更改類型,以便在懸停時僅顯示擋板,這裏是代碼使其灰色。

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]; 
+0

那麼設置關閉狀態的最佳方法是什麼? – 2012-02-28 20:37:45

+0

最適合什麼?在NSButtons上設置狀態的方式是setState: – valexa 2012-02-28 20:39:39

+0

這沒有意義。在界面生成器中,風格看起來是正確的。只有當我建立。爲什麼在每個其他應用程序中看起來相同的默認元素都有一些特定的樣式設置? – 2012-02-28 20:56:32