iOS开发中有关NSMutableAttributedString的使用

来源:互联网 发布:淘宝卖真aj的店铺 编辑:程序博客网 时间:2024/05/02 01:39

一. 初始化方法

-(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这些控件也都可以使用这些属性。

1 0
原创粉丝点击