在單個 UILabel 中將不同的屬性設定為文字
你需要執行的第一步是建立 NSMutableAttributedString
物件。我們建立 NSMutableAttributedString
而不是 NSAttributedString
的原因是因為它使我們能夠將字串附加到它上面。
NSString *fullStr = @"Hello World!";
NSMutableAttributedString *attString =[[NSMutableAttributedString alloc]initWithString:fullStr];
// Finding the range of text.
NSRange rangeHello = [fullStr rangeOfString:@"Hello"];
NSRange rangeWorld = [fullStr rangeOfString:@"World!"];
// Add font style for Hello
[attString addAttribute: NSFontAttributeName
value: [UIFont fontWithName:@"Copperplate" size:14]
range: rangeHello];
// Add text color for Hello
[attString addAttribute: NSForegroundColorAttributeName
value: [UIColor blueColor]
range: rangeHello];
// Add font style for World!
[attString addAttribute: NSFontAttributeName
value: [UIFont fontWithName:@"Chalkduster" size:20]
range: rangeWorld];
// Add text color for World!
[attString addAttribute: NSForegroundColorAttributeName
value: [UIColor colorWithRed:(66.0/255.0) green:(244.0/255.0) blue:(197.0/255.0) alpha:1]
range: rangeWorld];
// Set it to UILabel as attributedText
UILabel * yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 200, 100)];
yourLabel.attributedText = attString;
[self.view addSubview:yourLabel];
輸出: