标签:
实例化方法: 使用字符串初始化 - (id)initWithString:(NSString *)str; 例: NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀"];
- (id)initWithString:(NSString *)str attributes:(NSDictionary *)attrs;
字典中存放一些属性名和属性值,如: NSDictionary *attributeDict = [NSDictionarydictionaryWithObjectsAndKeys: [UIFontsystemFontOfSize:15.0],NSFontAttributeName, [UIColorredColor],NSForegroundColorAttributeName, NSUnderlineStyleAttributeName,NSUnderlineStyleSingle,nil];
NSMutableAttributedString *AttributedStr = [[NSMutableAttributedStringalloc]initWithString:@"今天天气不错呀" attributes:attributeDict];
- (id)initWithAttributedString:(NSAttributedString *)attester; 使用NSAttributedString初始化,跟NSMutableString,NSString类似
使用方法: 为某一范围内文字设置多个属性 - (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 阴影
2.实例设置文本的属性 //从网络获取的数组中拿到字典 NSDictionary *dataDic = @{@"Position":@"苏州", @"TrueName":@"苏州***信息科技有限公司"}; //变换字体大小及颜色positionstr拼接设置一定的格式如(),{},[]…… NSString *positionStr = [NSString stringWithFormat:@"(%@)",dataDic[@"Position"]]; NSString *str = [NSString stringWithFormat:@"%@%@",dataDic[@"TrueName"],positionStr]; //初始化 NSMutableAttributedString *mutableStr = [[NSMutableAttributedString alloc]initWithString:str]; //限定范围 NSRange trueNameRange = [str rangeOfString:dataDic[@"TrueName"]]; NSRange positionRange = [str rangeOfString:positionStr]; //设置范围属性 [mutableStr addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:trueNameRange]; [mutableStr addAttribute:NSForegroundColorAttributeName value:[UIColor lightGrayColor] range:positionRange]; [mutableStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:16] range:trueNameRange]; [mutableStr addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"HelveticaNeue-Bold" size:13] range:positionRange]; //取出获得的数据,直接给label nameLabel.attributedText = mutableStr; 具体的效果图,可以自己测试之后看到 标签: |
|
来自: 雪柳花明 > 《ios_零碎小知识》