您的位置:首页 > 产品设计 > UI/UE

UILabel UIButton 的文本样式显示

2016-09-06 16:50 204 查看
实例化方法和使用方法

实例化方法:

使用字符串初始化

- (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 iphone开发