2014-06-15 22 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