NSTextAttachment не отображается в виджете Центра уведомлений «Сегодня»

У меня есть виджет центра уведомлений, который имеет табличное представление с ячейками табличного представления. В ячейках у меня есть метка, которую я хотел бы отображать с текстом + изображением. Изображение включается как NSTextAttachment. У меня есть следующий код внутри приложения:

NSTextAttachment *attachment = [NSTextAttachment new];
attachment.image = [UIImage imageWithData:item.image];
NSAttributedString *itemImage = [NSAttributedString attributedStringWithAttachment:attachment];
NSAttributedString *itemName = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@" %@", item.name]];
NSMutableAttributedString *itemString = [[NSMutableAttributedString alloc] initWithAttributedString:itemImage];
[itemString appendAttributedString:itemName];
cell.nameLabel.attributedText = itemString;

Этот код работает внутри приложения, но я также пытаюсь использовать его в своем виджете (и, следовательно, TodayViewController). При отображении в виджете на ярлыке не отображается изображение. Если я остановлюсь во время выполнения этого кода, я увижу, что attachment.image устанавливается правильно. Что я делаю неправильно? Спасибо!


person Stephen    schedule 25.12.2014    source источник


Ответы (2)


Позже выяснилось, что после того, как я установил cell.nameLabel.attributedText = itemString;, я позже установил cell.nameLabel.text = itemString, поэтому он переопределял атрибутированную строку

person Stephen    schedule 02.01.2015

Попробуйте изменить

NSTextAttachment *attachment = [NSTextAttachment new];

to

NSTextAttachment *attachment = [NSTextAttachment alloc] initWithData:nil ofType:nil];

Это может быть та же проблема, что и в этом сообщении: Изображение NSTextAttachment не отображается на устройствах iOS 8 (с iOS7.1 SDK)

person ateich    schedule 31.12.2014
comment
К сожалению, без разницы - person Stephen; 01.01.2015