iOS - 难以编码字体/字体大小吗?

时间:2013-07-19 12:53:09

标签: ios internationalization

我正在考虑确定iOS应用程序的国际化程度,并且遇到了一些像这样的代码实例:

[_lblTitle setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0]];

在其他平台上,我会说这不是最佳做法。例如,如果我想减少某些语言的字体大小(由于文本扩展),或者如果我想删除粗体(例如双字节语言),则需要更改代码。

问题 - 这是iOS的最佳实践,如果不是,那么替代方案是什么?

免责声明 - 我对iOS开发并不熟悉。

1 个答案:

答案 0 :(得分:1)

iOS不像其他平台那样通用,并且在代码中设置大小和字体是常见的做法,无论是在您的类中还是在外部Contanst类中,或者只是在Interface Builder中设置它们你正在使用它。

作为个人喜好,在Interface Builder中设置字体会让它们更难看,我更喜欢在我的班级中设置所有字体并一起看。然后,如果我更改字体,其余部分将同时更改,我不必逐个使用xib中的所有元素。

在任何解决方案中,每次更改字体时都必须重新编译。

我可以根据不同语言对其进行调整,可以调整文本设置的标签大小如下:

myLabel.minimumFontSize = 8.;
myLabel.adjustsFontSizeToFitWidth = YES;

如果文本不合适,这会将文本缩小为8,因为它是最小的。

另一种做法是检测手机的语言并在其中设置字体,例如:

NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];

根据结果,对语言执行此操作:

[_lblTitle setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:18.0]];

,例如另一个:

[_lblTitle setFont:[UIFont fontWithName:@"HelveticaNeue" size:15.0]];