[英]Set bold font to NSString iOS
我已經將2個字體文件導入到項目中的資源組中,並將它們添加到我的plist文件中:
pt-sans.narrow-bold.ttf和PT_Sans-Narrow-Web-Bold.ttf
我想將粗體字體設置為屬性字符串,但是找不到我的字體,出現此錯誤:
(UIFont*) nil
這是我設置字體的方式:
UIFont *font_bold=[UIFont fontWithName:@"PT Sans Narrow Bold" size:14.0f];
它必須是該家族的字體。 任何想法,我在做什么錯?
您可以通過將字體添加到didFinishLaunchingWithOptions中來檢查字體是否可訪問
NSArray *fontFamilies = [UIFont familyNames];
for (int i = 0; i < [fontFamilies count]; i++)
{
NSString *fontFamily = [fontFamilies objectAtIndex:i];
NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]];
NSLog (@"%@: %@", fontFamily, fontNames);
}
正如@ mikle94所說,上限可能是您的問題。
如果我們想在我們的應用中使用尚不存在的字體,我們應該注意幾件事,以免發生與我相同的錯誤,然后想到“什么地方出錯了,我的代碼寫得很好”。
將.otf或.ttf中的字體復制到您的項目中。
將其添加到.plist文件。 在plist文件中添加“應用程序提供的字體”鍵,然后在Item 0中復制已經導入到項目中的字體名稱。
檢入目標->構建階段->復制捆綁資源。 如果您在那里看不到字體,請添加它。
非常重要-列出可用字體以檢查可在應用程序中使用的正確名稱:
NSArray *fontFamilies = [UIFont familyNames]; for (int i = 0; i < [fontFamilies count]; i++) { NSString *fontFamily = [fontFamilies objectAtIndex:i]; NSArray *fontNames = [UIFont fontNamesForFamilyName:[fontFamilies objectAtIndex:i]]; NSLog (@"%@: %@", fontFamily, fontNames); }
找到所需的字體並通過以下方式進行設置:
UIFont *customFont = [UIFont fontWithName:@"PTSans-NarrowBold" size:20];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.