У меня есть вывод, который представляет собой очень простой файл RTF. Когда я создаю этот документ, пользователь может отправить его по электронной почте. Все это работает нормально. Документ выглядит хорошо. Получив NSAttributedString, я создаю блок NSData и записываю его в файл, например:
NSData* rtfData = [attrString dataFromRange:NSMakeRange(0, [attrString length]) documentAttributes:@{NSDocumentTypeDocumentAttribute: NSRTFTextDocumentType} error:&error];
Этот файл можно отправить по электронной почте. Когда я проверяю электронную почту, все хорошо.
Теперь мне нужно добавить UIImage вверху документа. Отлично, поэтому я создаю атрибутированную строку следующим образом:
NSTextAttachment *attachment = [[NSTextAttachment alloc] init];
UIImage* image = [UIImage imageNamed:@"logo"];
attachment.image = image;
attachment.bounds = CGRectMake(0.0f, 0.0f, image.size.width, image.size.height);
NSMutableAttributedString *imageAttrString = [[NSAttributedString attributedStringWithAttachment:attachment] mutableCopy];
// sets the paragraph styling of the text attachment
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init] ;
[paragraphStyle setAlignment:NSTextAlignmentCenter]; // centers image horizontally
[paragraphStyle setParagraphSpacing:10.0f]; // adds some padding between the image and the following section
[imageAttrString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [imageAttrString length])];
[imageAttrString appendAttributedString:[[NSAttributedString alloc] initWithString:@"\n\n"]];
На данный момент в Xcode я могу выполнить QuickLook для imageAttrString, и он отлично отрисовывается.
Как только эта строка построена, я делаю следующее:
[attrString appendAttributedString:imageAttrString];
А затем добавляю весь остальной текст с атрибутами, который я изначально сгенерировал.
Когда я смотрю на файл сейчас, изображения нет. QuickLook хорошо выглядит в отладчике, но в окончательном выводе нет изображения.
Заранее спасибо за любую помощь в этом.