如何在ios中的textView中显示不同字体的文本?

时间:2014-07-08 11:52:46

标签: ios objective-c

嗨,我正在做一个申请。在那里我需要以不同的字体显示文本。我的意思是,如果我用一种字体显示名称,我用不同的字体显示城市名称。

4 个答案:

答案 0 :(得分:3)

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(50, 50, 200, 100)];

textView.text = @"Vijay Apple Dev";

NSString *textViewText = textView.text;

NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:textViewText];

[attributedText addAttribute:NSFontAttributeName
                       value:[UIFont fontWithName:@"Courier" size:20]
                       range:[textViewText rangeOfString:@"Apple"]];


[attributedText addAttribute:NSFontAttributeName
                       value:[UIFont fontWithName:@"Verdana" size:20]
                       range:[textViewText rangeOfString:@"Vijay"]];

textView.attributedText = attributedText;

[self.view addSubview:textView];

enter image description here

答案 1 :(得分:2)

尝试这样做...并根据您的要求定制,如字体名称和字体大小

        NSString *firstName = @"FirstName";

        NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:firstName];

        UIFont *font = [UIFont fontWithName:@"Helvetica" size:20];

        [attributedString addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, firstName.length)];// Here define your range.

        textView.attributedText = attributedString;

答案 2 :(得分:2)

//Use attributed String

//Apply properties to both strings 

//then merge and set it to textview

NSString *selectedString=@"Hey,";  

UIFont *fontSelectedText = [UIFont boldSystemFontOfSize:25];

NSDictionary *dictBoldSelectedText = [NSDictionary dictionaryWithObjectsAndKeys:fontSelectedText, NSFontAttributeName, nil];

NSMutableAttributedString *mutAttrTextViewSelectedString = [[NSMutableAttributedString alloc] initWithString:selectedString];

[mutAttrTextViewSelectedString setAttributes:dictBoldSelectedText range:NSMakeRange(0,selectedString.length)];

[_tTextView setAttributedText:mutAttrTextViewSelectedString];


//Second String
NSString *restOfStrig=@"\nHello";
NSMutableAttributedString *mutAttrTextViewString = [[NSMutableAttributedString alloc] initWithString:restOfStrig];

UIFont *fontText = [UIFont boldSystemFontOfSize:16];
NSDictionary *dictBoldText = [NSDictionary dictionaryWithObjectsAndKeys:fontText, NSFontAttributeName, nil];

[mutAttrTextViewString setAttributes:dictBoldText range:NSMakeRange(0,restOfStrig.length)];

//Combining both the Attributed String
[mutAttrTextViewSelectedString appendAttributedString:mutAttrTextViewString];

NSMutableAttributedString * finalAttributedStr=[[NSMutableAttributedString alloc] initWithAttributedString:mutAttrTextViewSelectedString];

//setting it to the textView
[_tTextView setAttributedText:finalAttributedStr];

答案 3 :(得分:0)

使用NSAttributedString

  

NSAttributedString对象管理应用于字符串中单个字符或字符范围的字符串和关联的属性集(例如,字体和字距调整)。字符及其属性的关联称为属性字符串。集群的两个公共类NSAttributedString和NSMutableAttributedString分别声明了只读属性字符串和可修改属性字符串的编程接口。

NSAttributedString

创建属性字符串时,只需将其设置为textView: self.textView.attributedText = myAttributedString;