iOS 简单富文本

利用HTML标记语言同样可以实现这种效果, 更加方便

在下面这个方法中写你需要的文字的属性, 字体大小, 颜色配置, 然后调用第二个方法直接设置.

  NSString *htmlString = [NSString stringWithFormat:@"<strong> <font size=4>收货信息:</font></strong> <font size=4 color='#666666'>暂无收货信息.</font>"];
  self.Remark.attributedText = [self htmlStringToAttributedText:htmlString];

-  (NSAttributedString *)htmlStringToAttributedText:(NSString *)htmlString {
    NSData *dataStr = [htmlString dataUsingEncoding:NSUnicodeStringEncoding];
    NSDictionary *dict = @{ NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType};
    NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:dataStr options:dict documentAttributes:nil   error:nil];
    return attrStr;
}

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 200, 30)];
    label.backgroundColor = [UIColor cyanColor];
    label.textAlignment = NSTextAlignmentCenter;
    label.font = [UIFont systemFontOfSize:14];
    
    CGFloat price = 123.45;
    NSString *priceStr = [NSString stringWithFormat:@"¥%.2f",price];
    NSString *str =[NSString stringWithFormat:@"应付金额:%@",priceStr];
    NSRange range = [str rangeOfString:priceStr];
    NSMutableAttributedString *finalStr = [[NSMutableAttributedString alloc] initWithString:str];
// 添加需要改变的字体的属性
    NSDictionary *dict = @{NSFontAttributeName:[UIFont boldSystemFontOfSize:20], NSForegroundColorAttributeName:[UIColor orangeColor]};
    [finalStr addAttributes:dict range:range];
    label.attributedText = finalStr;
    
    [self.view addSubview:label];

效果:

finalString.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容