美文网首页iOS Play
iOS UILabel中 部分中文字体变为中文红色斜体问题记录

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

作者: tianheng | 来源:发表于2017-09-08 10:51 被阅读12次
[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;

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/hqjgjxtx.html