我有一个使用一些自定义字体的应用。当应用程序在iOS 5中运行时,字体显示正确,但在4.3中它们没有,并且系统字体被替换。此外,我正在使用NSAttributedStrings来在UILabel子类中执行富文本。在iOS 5中,属性字符串工作正常,但在4.3中应用程序崩溃。崩溃在此方法中出现在NSAttributedString的类别中:
-(void)setFontName:(NSString*)fontName size:(CGFloat)size range:(NSRange)range {
// kCTFontAttributeName
// crashes on next line
CTFontRef aFont = CTFontCreateWithName((__bridge CFStringRef)fontName, size, NULL);
if (!aFont) return;
[self removeAttribute:(NSString*)kCTFontAttributeName range:range]; // Work around for Apple leak
[self addAttribute:(NSString*)kCTFontAttributeName value:(__bridge id)aFont range:range];
CFRelease(aFont);
}
关于4.3中搞砸了我的字体的想法?我使用相同的字体完成了一个快速测试项目,它们在4.3中正常工作。
JK
答案 0 :(得分:0)
感谢pe8ter,提示。事实证明我正在为HelveticNeue使用不正确的字符串。 iOS 5能够处理它,4.3不是那么多