2012-01-09 2 views
0

У меня есть приложение, которое использует несколько пользовательских шрифтов. Когда приложение работает в iOS 5, шрифты отображаются корректно, но в 4.3 они этого не делают, а системные шрифты заменяются. Кроме того, я использую NSAttributedStrings для создания богатого текста в подклассе UILabel. В iOS 5 присваиваемая строка работает нормально, но в 4.3 сбой приложения. Грохот поставляется в категории на NSAttributedString в этом методе:Проблемы с шрифтом iOS 5.0 vs 4.3


-(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

И сообщение, напечатанное с крахом, это ... ?? –

+0

Нет сообщения о сбое в консоли, просто EXC_BAD_ACCESS в строке, прокомментированной в коде выше // сбой в следующей строке – Alpinista

ответ

0

Спасибо pe8ter, за подсказку. Оказывается, я использовал неправильную строку для HelveticNeue. iOS 5 смог справиться с этим, 4.3 не так много

Смежные вопросы