I'm using UITextView and I'm setting its font and attributed text by code.
Case 1: Custom-font - YES , attribtued text- NO
The textView text is displayed in custom font.
I want the attribtued text with custom font i.e Message : in this case shold be bolded.
Case 2: Custom-font - YES , attribtued text- YES
Only the attribtued text(Bold text) is displayed in custom font.
The code I have is:
- (void)loadTextView
{
_textView.text=NSLocalizedString(@"more_info_text",nil);
_textView.font=[UIFont fontWithName:@"BurbankSmall-Medium" size:16];
NSRange rangeBold = [_textView.text rangeOfString:@"Examples of invalid characters:"];
NSRange rangeBold2 = [_textView.text rangeOfString:@"Restricted text:"];
NSRange rangeBold3 = [_textView.text rangeOfString:@"Message :"];
UIFont *fontText = [self boldFontWithFont:_textView.font];
NSDictionary *dictBoldText = [NSDictionary dictionaryWithObjectsAndKeys:fontText, NSFontAttributeName, nil];
NSMutableAttributedString *mutAttrTextViewString = [[NSMutableAttributedString alloc] initWithString:_textView.text];
[mutAttrTextViewString setAttributes:dictBoldText range:rangeBold];
[mutAttrTextViewString setAttributes:dictBoldText range:rangeBold2];
[mutAttrTextViewString setAttributes:dictBoldText range:rangeBold3];
[_textView setAttributedText:mutAttrTextViewString];
_textView.editable=NO;
_textView.selectable=NO;
}
- (UIFont *)boldFontWithFont:(UIFont *)font
{
UIFontDescriptor * fontD = [font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
return [UIFont fontWithDescriptor:fontD size:16];
}
When I comment the line setAttributedText:mutAttrTextViewString , evrything is displayed in custom font. When I uncomment it, only the attribtued text is showed in custom font, and rest is showed in default font.
Why is this happening ? If this is not possible I'm thinking to include html content as the attributed text, but I want to consider that as an option in worst case.


NSMutableAttributedString *mutAttrTextViewString = [[NSMutableAttributedString alloc] initWithString:_textView.text attributes:@{NSFontAttributeName:[UIFont fontWithName:@"BurbankSmall-Medium" size:16]}];? If you logmutAttrTextViewStringwith your current code, you should see that it doesn't have the font for the rest of the text (where you didn't put the bold font) and doesn't have to get by default the font set in_textViewfor PLAIN text.mutAttrTextViewString. It's just that lineNSMutableAttributedString *mutAttrTextViewString = [[NSMutableAttributedString alloc] initWithString:_textView.text];. For the rest, you keep calling[mutAttrTextViewString setAttributes:dictBoldText range:rangeBold];and the two other lines.fontproperty ofUITextViewis for it'stextproperty (as commonly said plain text), and not for itsattributedTextproperty.