YYText学习之根据range设置text的颜色和边框

首先感谢YYText这个强大的框架

最近项目有这样的text需求


整个text垂直置顶,然后前面的分类有边框并颜色要红色


不说太多,show the code


在cell中设置垂直置顶,因为这是cell中的控件

_contentLalel = [[YYLabel alloc]init];
    _contentLalel.font = [UIFont systemFontOfSize:14];
    _contentLalel.textVerticalAlignment = YYTextVerticalAlignmentTop;//设置垂直置顶
    _contentLalel.numberOfLines = 2;

然后我是在集合视图的这里设置的边框和分类标题颜色的

- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath

分别设置text的普通颜色和边框、高亮的颜色和边框

    NSString *redText = [NSString stringWithFormat:@" %@ ",self.name];
    
    NSString *totalText = [NSString stringWithFormat:@"%@%@",redText,model.title];
    
    //cell.contentLalel.text = totalText;
    
    // 1. 创建一个属性文本
    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:totalText];
    
    
    YYTextBorder *border = [YYTextBorder new];
    border.cornerRadius = 0;
    border.strokeWidth = 0.5;
    border.strokeColor = FR_REDCOLOR;
    border.insets = UIEdgeInsetsMake(0.5, 0.5, 0.5, 1);
    border.lineStyle = YYTextLineStyleSingle;
    
    //normal状态边框
    [text yy_setTextBackgroundBorder:border range:NSMakeRange(0, redText.length)];
    
    YYTextHighlight *highlight = [YYTextHighlight new];
    [highlight setColor:FR_REDCOLOR];
    [highlight setBackgroundBorder:border];
    //highlight状态边框和字体颜色
    [text yy_setTextHighlight:highlight range:NSMakeRange(0, redText.length)];
    //normal状态字体颜色
    [text yy_setColor:FR_REDCOLOR range:NSMakeRange(0, redText.length)];
    
    cell.contentLalel.attributedText = text;



你可能感兴趣的:(ios开发)