簡體   English   中英

將粗體字體設置為NSString iOS

[英]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所說,上限可能是您的問題。

如果我們想在我們的應用中使用尚不存在的字體,我們應該注意幾件事,以免發生與我相同的錯誤,然后想到“什么地方出錯了,我的代碼寫得很好”。

  1. 將.otf或.ttf中的字體復制到您的項目中。

  2. 將其添加到.plist文件。 在plist文件中添加“應用程序提供的字體”鍵,然后在Item 0中復制已經導入到項目中的字體名稱。

  3. 檢入目標->構建階段->復制捆綁資源。 如果您在那里看不到字體,請添加它。

  4. 非常重要-列出可用字體以檢查可在應用程序中使用的正確名稱:

     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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM