2015-06-11 39 views
1

全部,設定體重爲NSFont

我正在尋找一種更簡單的方式來設置NSFont的重量。

現在,我只能這樣做:

void SetWeight(NSFont font, int weight) 
{ 
    NSFontManager *manager = [NSFontManager sharedFontManager]; 
    int currentWeight = [manager weightOfFont:font]; 
    while(currentWeight != weight) 
    { 
     if(currentWeight >= weight) 
     { 
     [manager convertWeight:NO ofFont:font]; 
     currentWeight--; 
     } 
     else 
     { 
      [manager convertWeight:YES ofFont:font]; 
      currentWeight++; 
     } 
    } 
} 

是否有設置NSFont適當的重量更簡單的方法?具體而言,我正在尋找消除循環

回答

1

這種方法從enter link description here適合這個目的嗎?

- (NSFont *)fontWithFamily:(NSString *)family 
        traits:(NSFontTraitMask)fontTraitMask 
        weight:(NSInteger)weight 
         size:(CGFloat)size 
+0

一個按鈕,但是,儘管我找只設置權重這種方法將重新創建字體。 – Igor

+0

只是創建新的字體對象而不是使用舊字體而已? – Astoria

0

對於例如

button.font = [NSFont systemFontOfSize:13 weight:NSFontWeightMedium];