UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
|
self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];
|
|
self.textView.textColor = [UIColor blackColor];
|
self.textView.backgroundColor = [UIColor whiteColor];
|
self.textView.scrollEnabled = YES;
|
|
// Let's modify some of the attributes of the attributed string.
|
// You can modify these attributes yourself to get a better feel for what they do.
|
// Note that the initial text is visible in the storyboard.
|
NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithAttributedString:self.textView.attributedText];
|
|
NSString *text = self.textView.text;
|
|
// Find the range of each element to modify.
|
NSRange boldRange = [text rangeOfString:NSLocalizedString(@"bold", nil)];
|
NSRange highlightedRange = [text rangeOfString:NSLocalizedString(@"highlighted", nil)];
|
NSRange underlinedRange = [text rangeOfString:NSLocalizedString(@"underlined", nil)];
|
NSRange tintedRange = [text rangeOfString:NSLocalizedString(@"tinted", nil)];
|
|
// Add bold.
|
UIFontDescriptor *boldFontDescriptor = [self.textView.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
|
UIFont *boldFont = [UIFont fontWithDescriptor:boldFontDescriptor size:0];
|
[attributedText addAttribute:NSFontAttributeName value:boldFont range:boldRange];
|
|
// Add highlight.
|
[attributedText addAttribute:NSBackgroundColorAttributeName value:[UIColor aapl_applicationGreenColor] range:highlightedRange];
|
|
// Add underline.
|
[attributedText addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:underlinedRange];
|
|
// Add tint.
|
[attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor aapl_applicationBlueColor] range:tintedRange];
|
|
// Add an image attachment.
|
NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init];
|
UIImage *image = [UIImage imageNamed:@"text_view_attachment"];
|
textAttachment.image = image;
|
textAttachment.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
|
|
NSAttributedString *textAttachmentString = [NSAttributedString attributedStringWithAttachment:textAttachment];
|
[attributedText appendAttributedString:textAttachmentString];
|
|
self.textView.attributedText = attributedText;
|