2

我希望确定 iOS 应用程序的国际化程度,并遇到了一些这样的代码实例:

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

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

问题 - 这是 iOS 的最佳做法,如果不是,还有什么替代方法?

免责声明 - 我对 iOS 开发一点也不熟悉。

4

1 回答 1

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]];
于 2013-07-19T13:06:30.173 回答