实现一段字符串中部分内容字体颜色大小变化

  • 在label、button等等控件中,都可以对需要赋值的字符串设置字体属性,变量名为attributedText:
  • @property(nullable, nonatomic,copy) NSAttributedString *attributedText NS_AVAILABLE_IOS(6_0); // default is nil
    参数类型为NSAttributedString,当然我们也可以给它赋值NSMutableAttributedString类型的变量,但是在设置字符串属性之前要先将字符串赋值给text参数,具体实现看代码吧

ViewController.m

//
//  ViewController.m
//  部分字体变色demo
//
//  Created by yanll on 15/11/30.
//  Copyright © 2015年 yanll. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *string = @"大家一起努力学习ios开发";

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 40)];
    //必须先赋值string再设置string的属性,否则无效
    label.text = string;
    //设置需要改变的字符串字体属性
    label.attributedText = [self attribute:string changeString:@"努力学习" color:[UIColor greenColor] fount:20];
    [self.view addSubview:label];



}


//实现字体颜色大小的变化
- (NSMutableAttributedString *)attribute:(NSString *)String changeString:(NSString *)changeString color:(UIColor *)color fount :(NSInteger)fount
{
    //创建一个可变属性的字符串
    NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:String];

    //获取需要改变的字符串所在位置
    NSRange range = [String rangeOfString:changeString];

    //设置需要修改字符串的属性:颜色 大小等等
    [string addAttributes:@{NSForegroundColorAttributeName:color,NSFontAttributeName:[UIFont systemFontOfSize:fount],NSUnderlineStyleAttributeName:[NSNumber numberWithInt:NSUnderlineStyleSingle]} range:range];

    return string;
}



@end

当然在设置需要改变的字符串内容必须是在整个字符串中的,否则设置无效,看情况可以加入判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值