iphone - 值得注意的字体在 iOS 4.3 中引入并在 < 4.3 上回退到其他字体

标签 iphone objective-c ios cocoa-touch fonts

我正在创建一个旨在在 4.2+ ios 设备上运行的应用程序。出于审美原因,默认情况下我想使用自 iOS 4.3 以来已取代 Chalkboard 字体的 Noteworthy 字体。 我假设在 iOS 4.2 中 Noteworthy 字体不可用,如果用户正在运行此版本的系统,我必须回退到另一种字体?进行回退的最佳方法是什么? 我应该使用

(UIFont *)fontWithName:(NSString *)fontName size:(CGFloat)fontSize

并检查 nil 返回值?

我可以在我的 xib 文件中使用 noteworthy 还是会导致 4.2 设备崩溃?

最佳答案

您可以检查 fontWithName:size: 是否返回 nil,或者您可以检查 [UIFont familyNames] 返回的数组。

我不确定你是否会在 4.2 上崩溃,但是 UILabel Class Reference是这样说的:

The value for the property can only be set to a non-nil value; setting this property to nil raises an exception.

所以崩溃似乎很可能。

关于iphone - 值得注意的字体在 iOS 4.3 中引入并在 < 4.3 上回退到其他字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8318457/

相关文章:

iphone - ALAssets 组枚举 : how to check for completion?

ios - j__objc_msgSend 和 objc_msgSend 有什么区别?

iphone - 带有自定义字体的 UILabel 显示 *错误* 自定义字体

ios - 如果用户未登录,则将用户从 TabBar 重定向到登录 viewController (Swift)

ios - 我想在 ios 中加载图像之前显示事件指示器

iphone - 从MPMoviePlayerController获取总帧数

ios - 使用 CGPath 为笔划末端设置动画颜色

objective-c - 如何在 iOS 上制作图像 "magnification"效果?

ios - CCSpriteBatchNode 在 15k 左右停止添加子节点

iphone - 应用程序无法在 iOS 4.2 上运行,架构问题