2014-01-07 50 views
7

我的應用程序。在很多地方我使用了系統粗體字體,這在我的應用程序中已經成爲標準。找不到屬性字符串的系統粗體字體iOS Xcode

如果我使用Attributed String,默認顯示的字體是「Helvetica Neue」。在所有字體中,我搜索了系統粗體字體,但找不到它。

那麼,如何在使用Attributed String時設置系統粗體字體?

enter image description here

+1

我無法在界面構建器中找到一種方法,但是在編程上我使用kCTFontEmphasizedSystemFontType來創建一個CTFontRef來放入NSAttributedString的屬性字典。你如何在代碼中分配標籤的屬性文本屬性? – Bamsworld

+0

@Bamsworld我是從Interface Builder中完成的。你是對的,現在我將不得不使用NSFontAttribute作爲NSAttributedString之一,值爲「[UIFont boldSystemFontOfSize:size]」。 – andyPaul

回答

2

你可以把它的代碼工作。將屬性字符串分配給UILabel時,我不得不面對完全相同的問題。我通過代碼解決了它。見代碼如下:

NSString *s = @"Why so serious?"; 
    NSMutableAttributedString *str=[[NSMutableAttributedString alloc] initWithString:s]; 
    NSInteger _stringLength=[s length]; 
    UIColor *_red=[UIColor redColor]; 
    [str addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:25] range:NSMakeRange(0, _stringLength)]; 
    [str addAttribute:NSStrokeColorAttributeName value:_red range:NSMakeRange(0, _stringLength)]; 
    [str addAttribute:NSStrokeWidthAttributeName value:[NSNumber numberWithFloat:-3.0] range:NSMakeRange(0, _stringLength)]; 
    self.aLabel.attributedText = str; 

希望這會有所幫助。 :)

+3

這在2017年仍然如此嗎?令人難以置信的是,我似乎遇到了運行XCode 8.2.1的相同問題... – Chris

+1

是的,它仍然是真的:-( – norders