#ios #nsattributedstring
#iOS #nsattributedstring
Вопрос:
После долгих исследований я обнаружил, что метод initWithData NSAttributedString мерцает на моем экране. Это очень странно. Этого никогда не было до IOS 9. Вот мой код:
NSString *const str = [NSString stringWithFormat:@"<span style="font-family: %@; color:%@; font-size:%@";>%@</span>", fontFace, _shop.currentTheme.options.itemDetailTextColor, fontSize,[entity description]];
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *options = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)};
//Screen flickers after the code below
NSAttributedString *const text = [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil];
itemDescriptionLabel.text = @"text"; //text;
Где я ошибаюсь?
Обновить:
Если я удалю NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType из параметров, он будет работать нормально.
Комментарии:
1. Где этот код? Если вы создаете простое приложение для iOS с одним просмотром только с указанным выше кодом, вы все еще видите проблему?
2. Если я установлю для параметров значение nil, приложение будет работать нормально. Я думаю, проблема в опциях.
3. Вы не ответили ни на один из моих вопросов.
4. Этот код находится в методе viewDidLoad контроллера представления. Я не пробовал использовать одно приложение для просмотра. Потому что теперь я уверен, что это из-за параметра NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType
5. @Burak: Используете ли вы
label.attributedText
, когда устанавливаетеtext
вместо@"text"
?