2014-06-15 71 views
1

我最近將xcode更新爲最新的5.1.1,後來將ios支持升級到7.1(從7.0)。自定義字體不再作爲'fallback'工作

我有一些中文字符的自定義字體,在我更新之前工作正常,但現在它根本不工作!

這裏是它之前工作照片:http://i.stack.imgur.com/y8fpK.png

,現在從模擬器的最新版本:http://i.stack.imgur.com/NYIW3.png

沒有在我的代碼已經改變,字體被打包成我的應用程序,我可以得到字體爲工作,如果我專門告訴應用程序使用它,即:

// cell.textLabel.font = [UIFont fontWithName:@"HanaMinB" size:18.0]; 

但它使用更新前的後備工作。

我的第一個問題是爲什麼

其次,我該如何讓應用程序搜索哪種字體能正確顯示字符?

編輯: 目錄:http://i.stack.imgur.com/8BxKo.png

複製包資源:http://i.stack.imgur.com/kMLgp.png

字體的應用程序提供:http://i.stack.imgur.com/hPZOn.png

我想在上面可以在這裏找到的圖片來顯示的字符: http://www.zisea.com/zscontent.asp?uni=280C5

unicode:280C5

我與Hanazono字體包括HanaMinA和HanaMinB

工作
+0

你能不能請張貼一些中文字符呢?不是每個人在這裏都會說中文,並且從圖像中複製並粘貼它們是非常困難的...... – holex

+0

字體大小可能是原因嗎?如何嘗試增加默認字體大小?如果不是,請添加您的PList的屏幕截圖以查看「應用程序提供的字體」屬性,並確保字體文件存在於您的項目中。 – Ricky

+0

@holex更新了我的問題 – user3741651

回答

2

嘗試使用外觀創建備用字體。

像這樣:

[[UILabel appearance] setFont: [UIFont fontWithName:@"HanaMinB" size:18.0]]; 

這爲創建應用程序中的所有標籤的默認字體。 或者如果你只需要在tableView中:

[[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil] setFont:[UIFont fontWithName:@"HanaMinB" size:18.0]]; 
+0

'[[UILabel外觀] setFont:[UIFont fontWithName:@「HanaMinB」size:18.0]];'工作......但它改變了我的其他自定義字體! &&是否有辦法將它設置爲隨處可見的** **?並且做了一些從7.0到7.1的變化,它不再自動工作了! – user3741651

+0

是的,它是隨處創建備用字體的方式。如果你不想配置,你需要使用它。你可以使用'appearanceWhenContainedIn:'和它所在的類。有關外觀的更多信息,請閱讀此鏈接(https://developer.apple.com/library/ios/documentation/uikit/reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906- CH1-DontLinkElementID_1) – Antigp

+0

@Antigp它頂起我的其他自定義字體雖然 – user3306356