我认为这是一件小事,在我的应用UITextView
中起着重要的作用。所以我想添加格式化功能(粗体,斜体,下划线)。
一旦我尝试使用,
[NotesTxtView setAllowsEditingTextAttributes:YES];
它工作正常但是当我将数据保存到db
时,格式化的文本会变为正常。我能做些什么呢?
我的问题有解决办法吗?
帮助者,...
答案 0 :(得分:2)
您还需要保存样式信息。 NSAttributedString的方法dataFromRange:documentAttributes:error:
将有所帮助:
返回一个数据对象,其中包含与给定范围内的字符和属性对应的文本流。
所以你从db中保存并恢复NSData对象。
NSDictionary *attrs = @{NSDocumentTypeDocumentAttribute:NSRTFTextDocumentType};
// export data
NSData *data =
[self.textView.attributedText
dataFromRange:NSMakeRange(0, self.textView.text.length)
documentAttributes:attrs
error:nil];
...
// save data to db, fetch later
...
// restore
self.textView.attributedText =
[[NSAttributedString alloc]
initWithData:data
options:nil
documentAttributes:&attrs
error:nil];
考虑使用其他文档类型(均可从iOS 7获得):
NSString *NSPlainTextDocumentType;
NSString *NSRTFTextDocumentType;
NSString *NSRTFDTextDocumentType;
NSString *NSHTMLTextDocumentType;