• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iOS - 对字体/字体大小进行硬编码是否不好?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 12:40:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在寻找一个 iOS 应用程序的国际化程度,并遇到了一些这样的代码实例:

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

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

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

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



Best Answer-推荐答案


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

作为个人偏好,在 Interface Builder 中设置字体会使它们更难看到,我更喜欢在我的类(class)中设置所有字体并一起查看它们。然后,如果我改变一个字体,其余的会同时改变,我不必对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]];

关于iOS - 对字体/字体大小进行硬编码是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17746551/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap