iOS - 如何为自定义字体设置后备字体?

Jor*_*ith 8 iphone localization objective-c ios

我正在为我的应用程序的导航栏标题使用大胆的自定义字体.

我也刚刚本地化了我的应用程序.对于字体不支持的语言(主要是亚洲语言),iOS可以回退到系统默认值 - 唉,这不是一个大胆的系统默认值,而是一个不适合标题的标准权重.

我该怎么做才能改变这个?

Han*_*nes 0

我不确定这是否是最好的方法,但我使用以下代码片段来检查特定语言:

//store all fallback languages in this array (eg.: el = greek, ru = russian)
NSArray *fallbackFont = @[@"el", @"ru"];
NSString *lang = [[NSLocale preferredLanguages] objectAtIndex:0]
BOOL hasFallbackFont = [fallbackFont containsObject:lang];

NSString *fontNameBold = hasFallbackFont ? @"Fallback-Font-Bold" : @"Regular-Font-Bold";

...

myLabel.font = [UIFont fontWithName:fontNameBold size:12.0];
Run Code Online (Sandbox Code Playgroud)