iOS UILabel中 部分中文字体变为中文红色斜体问题记录

[titleString addAttribute:NSFontAttributeName value:[UIFont fontWithName:@"Arial-ItalicMT" size:17.0] range:titleRange];

这种方式对中文字体无效

  //xxx过滤标题,显示红色斜体
    NSString *titleRemoveHtml = [BDFUntil removeHTML:resultModel.title];//过滤HTML标签
    NSString *keyString = @"xx";
    NSString *key2String = @"xx";
    NSRange titleRange = [titleRemoveHtml rangeOfString:keyString];
    NSRange title2Range = [titleRemoveHtml rangeOfString:key2String];
    NSMutableAttributedString *titleString = [[NSMutableAttributedString alloc] initWithString:titleRemoveHtml];
    
    CGAffineTransform matrix =  CGAffineTransformMake(1, 0, tanf(10 * (CGFloat)M_PI / 180), 1, 0, 0);
    
    UIFontDescriptor *desc = [UIFontDescriptor fontDescriptorWithName:[UIFont systemFontOfSize:17.0].fontName matrix:matrix];

    [titleString setAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont fontWithDescriptor:desc size:17.0]} range:titleRange];
    [titleString setAttributes:@{NSForegroundColorAttributeName:[UIColor redColor], NSFontAttributeName:[UIFont fontWithDescriptor:desc size:17.0]} range:title2Range];
    [titleString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:titleRange];
    self.titleLabel.attributedText = titleString;
posted @ 2017-09-08 10:51  tian_heng  阅读(399)  评论(0编辑  收藏  举报