iOS开发中有关NSMutableAttributedString的使用

本文介绍了NSMutableAttributedString的初始化方法,使用方式,常见属性及属性说明,并通过实例展示了其在iOS开发中的应用,包括在UIButton和UITextField等控件中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 初始化方法

-(id)initWithString:(NSString *)str;
例如:

NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:@"今天是个好天气"];

-(id)initWithString:(NSString )str attributes:(NSDictionary )attrs;
字典中存放字符串的属性名和属性值,如:

    NSDictionary *attributeDict = [NSDictionary dictionaryWithObjectsAndKeys:
                                   [UIFont systemFontOfSize:15.0],NSFontAttributeName,
                                   [UIColor redColor],NSForegroundColorAttributeName,
                                   NSUnderlineStyleAttributeName,NSUnderlineStyleSingle,nil];
    NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天是个好天气" attributes:attributeDict];

二. 使用方法

//为某一范围内文字设置多个属性
- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range;
//为某一范围内文字添加某个属性
- (void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;
//为某一范围内文字添加多个属性
- (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;
//移除某范围内的某个属性
- (void)removeAttribute:(NSString *)name range:(NSRange)range;

三. 常见属性及属性说明

NSFontAttributeName   //字体
NSParagraphStyleAttributeName   //段落格式
NSForegroundColorAttributeName   //字体颜色
NSBackgroundColorAttributeName   //背景颜色
NSStrikethroughStyleAttributeName   //删除线格式
NSUnderlineStyleAttributeName    //下划线格式
NSStrokeColorAttributeName     //删除线颜色
NSStrokeWidthAttributeName    //删除线宽度
NSShadowAttributeName         //阴影

四. 举例使用

NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc] initWithString:@"今天是个好天气"];
    [attributeStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:40] range:NSMakeRange(1, 2)];
    [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor purpleColor] range:NSMakeRange(1, 2)];
    [attributeStr addAttribute:NSBackgroundColorAttributeName value:[UIColor yellowColor] range:NSMakeRange(1, 2)];
    [attributeStr addAttribute:NSUnderlineStyleAttributeName value:@(1) range:NSMakeRange(1, 2)];

    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(70, 200, self.view.bounds.size.width-140, 40)];
    label.attributedText = attributeStr;
    label.font = [UIFont systemFontOfSize:30];
    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor = [UIColor cyanColor];
    [self.view addSubview:label];

运行效果图:

好了,文章对NSMutableAttributedString的用法做了一个简单的介绍,另外在iOS中UIButton,UITextField这些控件也都可以使用这些属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值